c# - 换行符未添加到字符串

标签 c# string

这是我的测试代码

public string myMethod(int[,] anArray)
{
    string aString = "";

    for (int i = 0; i < anArray.GetLength(0); i++)
    {
        for (int j = 0; j < anArray.GetLength(1); j++)
        {
            if (j == anArray.Length - 1)
            {
                aString += " " + anArray[i, j] + "\r\n";
                continue;
            }
            aString += anArray[i, j] + "|";
        }
    }
    return aString; 
}

当我调用该方法时,我希望得到一个包含换行符的字符串。

我想要的结果

0|0|0
0|0|0
0|0|0

不过我明白了

0|0|0|0|0|0|0|0|0|

谢谢。

编辑: if 条件上的愚蠢错误,仅此而已。

第二次编辑:我在代码的后半部分有错误的 if 条件语句,导致字符串不正确。

最佳答案

String 是不可变的,效率低下。

StringBuild sb = new StringBuilder();
for ()
{
   sb.AppendLine(" " + anArray[i, j]);
}

根据评论

anArray.GetLength(1) 
anArray.Length  

不一样

关于c# - 换行符未添加到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50474521/

相关文章:

c# - 将 Dictionary<string, string> 转换为单个聚合字符串表示的最佳方法?

c# - 是否有类似于 GNU readline 的 .Net 库?

c - 在 C 中打印字符串的二进制 ASCII 码

c++ - "error: subscripted value is not an array, pointer, or vector"我正在使用一个字符串

javascript - 在Javascript中添加到对象时,如何使显示为数组的字符串返回数组

c# - AppDomain.FirstChanceException 和堆栈溢出异常

c# - 自动登录进入c#项目中的每个方法

c++ - 运算符重载 - 创建一个新的 String 类

regex - 更改r中字符串中单词的位置

c# - 对授权和未授权用户使用 ASP.NET MVC Controller 操作