如何获取字符列表或列表中的特定字符<char>
How to get the specific char in char list or List<char>
List<char> pc = new List<char>();
pc.Add('?');
pc.Add(';');
pc.Add(',');
return pc.Contains(Convert.ToChar(temp)) ? pc[Convert.ToChar(temp)].ToString() : null;
(上面代码在return字符串的方法中)
通常在字符串列表中,我从 List[] 中获取任何特定值,但在此它会将 char 更改为 int。
示例:pc['?'] == pc[63] 由于此 ArgumentOutOfRangeException 发生。
那么,如何从我的字符列表中获取特定字符?
提前致谢
一个 char 包含一个整数值,但您列表的索引不等于它所包含的 char 的值。您的列表看起来像这样 [index] => value
:
[0] => 63
[1] => 59
[2] => 44
您必须扫描列表:
var charToFind = Convert.ToChar(temp);
char? match = pc.FirstOrDefault(c => c == charToFind);
想知道指数,求指数:
int index = pc.IndexOf(charToFind); // -1 for not found
但是如果你在temp
(或charToFind
)中已经有了想要的字符,就没有必要再次从列表中获取它,你可以只return字符如果它出现在列表中:
return pc.Contains(charToFind) ? charToFind.ToString() : null;
List<char> pc = new List<char>();
pc.Add('?');
pc.Add(';');
pc.Add(',');
return pc.Contains(Convert.ToChar(temp)) ? pc[Convert.ToChar(temp)].ToString() : null;
(上面代码在return字符串的方法中)
通常在字符串列表中,我从 List[] 中获取任何特定值,但在此它会将 char 更改为 int。
示例:pc['?'] == pc[63] 由于此 ArgumentOutOfRangeException 发生。
那么,如何从我的字符列表中获取特定字符?
提前致谢
一个 char 包含一个整数值,但您列表的索引不等于它所包含的 char 的值。您的列表看起来像这样 [index] => value
:
[0] => 63
[1] => 59
[2] => 44
您必须扫描列表:
var charToFind = Convert.ToChar(temp);
char? match = pc.FirstOrDefault(c => c == charToFind);
想知道指数,求指数:
int index = pc.IndexOf(charToFind); // -1 for not found
但是如果你在temp
(或charToFind
)中已经有了想要的字符,就没有必要再次从列表中获取它,你可以只return字符如果它出现在列表中:
return pc.Contains(charToFind) ? charToFind.ToString() : null;