c#如何将不包含单个字符的字符串列表转换为char
本文关键字:字符串 列表 转换 char 字符 包含单 | 更新日期: 2023-09-27 18:13:56
我有一个字符串列表,里面有这样的项目- 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();}
这里是结束工作代码,对于那些可能想知道为什么我需要这种类型的转换。它是凯撒鲁斯加密器。只支持大写字母,但在上面这些人的帮助下,现在可以了。
如果列表中的项是整型值,例如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);