字符串数组大写和小写字母改变C#

时间:2016-03-11 15:20:00

标签: c# arrays string

我需要逐行打印一个字符串数组,其中第一行必须是大写字母,第二行是小写字母,这就是它如何运行直到数组结束(我从一个数组中获取数组)文本文件);

当我尝试使用“chars[i].ToUpper”时,我收到错误

  

“错误1只有赋值,调用,递增,递减,等待和新对象表达式才能用作语句C:\ Users \ Yonatan \ Documents \ Visual Studio 2013 \ Projects \ Clab2 \ Clab2 \ ex3.cs 21 17 Clab2“

这是我的代码:

static void Main(string[] args)
{
    string fileContent = File.ReadAllText("FreeText.txt");
    string[] chars = fileContent.Split(new char[] { ' ', '\t', '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);


    for(int I =0;i<chars.Length;i++)
    {
        if (i % 2 != 0)
            chars[i].ToUpper;

    }
}

3 个答案:

答案 0 :(得分:2)

  

第一行必须是大写字母,第二行是   小写字母

您必须使用大写/小写字符串覆盖数组中的字符串:

if (i % 2 != 0)
    chars[i] = chars[i].ToUpper(); 
else
    chars[i] = chars[i].ToLower(); 

答案 1 :(得分:1)

替换

chars[i].ToUpper();

chars[i] = chars[i].ToUpper();

答案 2 :(得分:1)

ToUpper是一种方法,而不是属性。此外,您必须重新分配它,因为ToUpper将返回一个新字符串。

试试这个:

for (int i = 0; i < chars.Length; i++) 
{
    if (i % 2 != 0)
    {
        chars[i] = chars[i].ToUpper();
    }
    else
    {
        chars[i] = chars[i].ToLower();
    }
}