【发布时间】:2021-11-30 14:48:43
【问题描述】:
我用我的逻辑练习来改进,但我缺少两个 for 循环的数字,一个用于收集字母以从名称存储到数组中,另一个用于存储每个字母,请求字母将小写转换为名称中的大写。
对不起,我的英语很差。
示例控制台应用程序显示:
插入您的姓名:
约翰
插入任何要转换为大写的字母:
jn
输出: 约翰
我的代码如下:
string name = "";
Console.WriteLine("Insert your name");
name = Console.ReadLine();
string letter = "";
Console.WriteLine("Insert of letter");
letter = Console.ReadLine();
char[] ch = name.ToCharArray();
string[] name2 = new string[name.Length];
char[] chletter = letter.ToCharArray();
string[] letterArray = new string[chletter.Length];
for (int i = 0; i < ch.Length; i++) //loop count of each letters from the names.
{
name2[i] = ch[i].ToString();// convert fullname into letters to store into string Name2
}
for (int i = 0; i < letterArray.Length; i++)
{
letterArray[i] = chletter[i].ToString().ToUpper();
}
for (int i = 0; i < letterArray.Length; i++)
{
if (name2[i].ToUpper() == letterArray[i]) // Find letter from name2 array when you ask for.
{
name2[i] = letterArray[i];
}
}
for (int i = 0; i < name2.Length; i++)// display value from array
{
Console.Write(name2[i]);
}
【问题讨论】:
-
string.Join("", name.Select(c => letter.IndexOf(c) == -1 ? c : Char.ToUpper(c)))... 请edit 澄清您得到的输出以及您已经进行的调试。理想情况下,您为此代码显示单元测试,显示您的期望和您得到的......
标签: c# arrays loops uppercase lowercase