C# 如何将不是单个字符的字符串列表转换为 char?

C# How to convert a list of strings with not a single character to char?

我有一个字符串列表,里面有这样的项目 - 65,66...等等。

当我尝试使用 Convert.ToChar(item) 时,出现错误提示单个字符串应该只有一个字符。我无法理解的是,除了 Convert 函数之外,我真正可以使用什么将 65(字符串)转换为 char = A 值。

static void Main(string[] args)
    {
        List<char> Alphabet = new List<char>();
        List<string> Message = new List<string>();
        for (int i = 65; i < 91; i++)
        {
            Alphabet.Add((char)i);
        }
        var stroke = Console.ReadLine().ToString();
        foreach (var letter in stroke)
        {
            if (Alphabet[Alphabet.Count - 1] == letter)
            {
                Message.Add((66.ToString()));
            }
            if (Alphabet[Alphabet.Count - 2] == letter)
            {
                Message.Add((65.ToString()));
            }
            if (Convert.ToChar(" ") == letter)
            {
                Message.Add(" ");
            }
            foreach (var item in Alphabet)
            {

                if (item == letter && letter != Alphabet[Alphabet.Count -1] && letter != Alphabet[Alphabet.Count - 2])
                {
                    Message.Add((item + 2).ToString());
                }
            }
        }
        foreach (var item in Message)
        {
            if (item != " ")
            {
                Console.Write(Convert.ToChar(Convert.ToInt16(item)));
            }
            else
            {
                Console.Write(" ");
            }
        }
        Console.ReadLine();}

这是结束工作代码,对于那些可能想知道为什么我需要这种类型的 convert.Its Caesarus 加密器的人。仅适用于大写字母,但在上面那些人的帮助下现在可以使用了。

如果你的列表项是int值,比如65,66,...好像是字符编码,你可以试试:

Convert.ToChar(Convert.ToInt32(item))

例如:

var str="65";
var chr= Convert.ToChar(Convert.ToInt32(str));
//The output is A

加密:

var stroke = Console.ReadLine();
var enc = new String(stroke.ToCharArray().Select(c=>Convert.ToChar(c+2)).ToArray());
Console.WriteLine(enc);