繁体   English   中英

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM