将字符串数组分隔为32列

时间:2014-03-19 22:58:59

标签: c# arrays string string-formatting

我有一个包含96个元素的字符串数组。我想将数组格式化为一个字符串,如下所示:

str    str
str    str
str    str
str    str

而不是像这样:

str
str
str
str
str
str
str
str

但每列中有32个而不是4个。

我该怎么做?

感谢。

3 个答案:

答案 0 :(得分:1)

int index = 0;
var result = String.Join(Environment.NewLine,
                         array.GroupBy(s => index++ / 3)
                              .Select(g => String.Join("\t", g)));

如果您希望字符串在列中对齐,那么请使用:{/ p>而不是String.Join("\t", g)

String.Join("", g.Select(s => String.Format("{0,-20}",s)))

这将为每列提供20个字符的宽度,并为列提供左对齐字符串。

答案 1 :(得分:1)

如果你想要32"行"和3"列"您可以使用此LINQ查询:

string[] strings = Enumerable.Repeat("str", 96).ToArray();
IEnumerable<string[]> arrays = strings
    .Select((str, index) => new { str, index })
    .GroupBy(x => x.index / 3)
    .Select(g => g.Select(x => x.str).ToArray());

因此每个string[]包含三个字符串,序列包含32个string[] s。

答案 2 :(得分:0)

这可能是解决方案:

int[,] MyArray = new int[32,2];

现在,如果你想放置值,那么:

MyArray[0,0] = your first value
//// until
MyArray[32,2] = your last value

当然,您可以使用所需的类型而不是int类型。

相关问题