【问题标题】:How to get the specific char in char list or List<char>如何获取 char list 或 List<char> 中的特定字符
【发布时间】:2021-01-05 12:48:00
【问题描述】:
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[] 中获取任何特定值,但在此它将 char 更改为 int。

示例:pc['?'] == pc[63] 由于此 ArgumentOutOfRangeException 发生。

那么,我如何从我的 char 列表中获取特定的 char?

提前致谢

【问题讨论】:

  • 你到底想回到这里做什么?看起来您需要返回 temp 而不是 pc[Convert.ToChar(temp)].ToString()
  • 谢谢,我没有这样想。

标签: c# .net char


【解决方案1】:

一个 char 拥有一个整数值,但列表的索引不等于它所拥有的 char 的值。您的列表如下所示,[index] =&gt; 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;

【讨论】:

    猜你喜欢
    • 2011-09-03
    • 1970-01-01
    • 2013-04-29
    • 2020-05-29
    • 1970-01-01
    • 2020-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多