2

我有一个 int 数组,例如 {1,2,3,4} 值。

例如,我想将这些数字放入我的列表框中,如下所示:

listBox2.Items.Add("After Inserting (" + page[i].ToString() + ')' + <use all my numbers like this : 1234 here>+"Page Fault = " + pf.ToString());  

输出 :

After Inserting (3) 1234 page fault = 5

1234 只是一个例子。我的阵列要大得多。

我怎么能在 C# 中做到这一点?

4

3 回答 3

5

您可以使用String.Join(实际上是IEnumerable<T>重载):

String joined = String.Join("", yourArray); 

我是 C# 的新手,我怎么不知道如何将字符串放在文本中

您可以使用String.Format来构建文本并提高可读性:

var inserted = page[i].ToString();
var allInserted = String.Join("", yourArray);
var pageFault = pf.ToString();
var itemText = String.Format("After Inserting ({0}) {1} page fault = {2}"
                             ,inserted, allInserted, pageFault);
listBox2.Items.Add(itemText);

编辑 2

我可以替换一些字符而不是数组中的一个数字吗?我的数组:{1,2,3,4,-1"} 输出:1,2,3,4,empty

是的,您可以替换输出:

String.Join("", yourArray.Where(i => i != -1));

编辑 3

我了解如何排除-1,但我不明白如何用它替换某些东西……例如“空”而不是-1

开始了 ...

String.Join(", ", intArray.Select(i => i == -1 ? "empty" : i.ToString()));
于 2012-05-22T08:28:09.367 回答
2

string.Join 也适用于 ToList()

int[] numbers = new int[] {1,2,3,4,5};
string s = string.Join("", numbers.ToList());
Console.WriteLine(s);

输出为=“12345”

编辑:我不知道你的数组的名称,所以我仍然使用上面的数字示例

listBox2.Items.Add("After Inserting (" + page[i].ToString() + ") " + 
                    string.Join("", numbers.ToList()) + 
                    " Page Fault = " + pf.ToString());   

编辑:

排除像 -1 这样的数字

int[] numeri = new int[] {1,2,3,4,5,-1};
string s = string.Join(",", numeri.Where(i => i != -1).ToList());
Console.WriteLine(s);

注意,添加了逗号来分隔数字

于 2012-05-22T08:30:12.130 回答
2
string.Join(", ", intArray.Select(i => i.ToString())) 
于 2012-05-22T08:27:56.417 回答