Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 增量(x+;+;)的打印结果返回原始值,而不是增量值 string text=“你好”; char[]ch=text.ToCharArray(); 对于(var x=0;x_C#_Char_Increment - Fatal编程技术网

C# 增量(x+;+;)的打印结果返回原始值,而不是增量值 string text=“你好”; char[]ch=text.ToCharArray(); 对于(var x=0;x

C# 增量(x+;+;)的打印结果返回原始值,而不是增量值 string text=“你好”; char[]ch=text.ToCharArray(); 对于(var x=0;x,c#,char,increment,C#,Char,Increment,您正在同时写入和递增,请尝试先递增,然后写入 string text = "hello"; char[] ch = text.ToCharArray(); for (var x=0; x<text.Length; x++) { Console.Write(ch[x]++); } 用于(x=0;x或如果您患有LINQ OCD for (x=0;

您正在同时写入和递增,请尝试先递增,然后写入

        string text = "hello";

        char[] ch = text.ToCharArray();
        
        for (var x=0; x<text.Length; x++)
        {
            Console.Write(ch[x]++); 
        }

用于(x=0;x或如果您患有LINQ OCD

for (x=0; x<text.Length; x++){
            ch[x]++;
            Console.Write(ch[x]);
        }

您只需在循环后从字符数组创建一个新字符串,如
var result=new string(ch);
或执行
Console.Write(++ch[x]);
,这样您就可以在打印字符之前增加字符。@juharr请在回答部分回答您希望
z
变成什么?一个
{/code>相关问题(关于递增值):这是否回答了您的问题?为什么不
Console.Write(++ch[x])
?@John依赖于
++
的副作用通常是有风险的——对代码的任何更改都会改变行为。当一个人不这样做时,对代码进行推理要容易得多。也就是说,GO根本不从增量返回值以避免整个混淆-@AlexeiLevenkov我认为
++x
x++
是有区别的C风格语言中定义的行为?我同意,当事情写得更明确时,遵循代码会更容易。@John它主要是被定义的…比如
++x++-++x++
我认为允许-1,0,1基于C/C++中的月亮相位…或者从OP的代码更改为本文中显示的代码-只是将x++内联到写-非常天真,容易被忽略。在代码审查期间,还需要确保它没有被错放在
]
位置-
ch[x]++
ch[x++]
相比……只是不值得学习所有与返回值相关的已定义和更重要的未定义行为。
Console.WriteLine(string.Concat(text.Select(x => ++x)));