如何解决如何获取字符列表或 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;
(上面返回字符串的方法中的代码)
通常在字符串列表中,我从 List[] 获取任何特定值,但在此过程中它将字符更改为 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 pc.Contains(charToFind) ? charToFind.ToString() : null;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。