如何获取字符列表或列表中的特定字符<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;