关于c#:如何将整数数组转换为逗号分隔的字符串

How to convert array of Integers into comma separated string

这是我的带ID的整数数组

1
2
3
4
5
6
7
8
GoalIds{int[7]}
    [0]: 31935
    [1]: 31940
    [2]: 31976
    [3]: 31993
    [4]: 31994
    [5]: 31995
    [6]: 31990

我从这段代码中得到上面的数组

1
Array GoalIds = FilteredEmpGoals.Select(x => x.GoalId).Distinct().ToArray();

我试图把它转换成逗号分隔的字符串

1
31935, 31940, 31976, 31993, 31994, 31995, 31990

为了达到这个目的,我试过

1
var result = string.Join(",", GoalIds);

但它给了我一个结果。

请让我更新一下我在这里犯错误的地方。

参考:我在这里看了一下,这个例子从那里开始工作得很好。

更新

参考:正如@paqogomez建议的那样

我试图将这些值存储在数组中,但可能它没有正确处理这些值。现在我更改了生成数组的代码,如下所示

1
int[] GoalIds = FilteredEmpGoals.Select(x => x.GoalId).Distinct().ToArray();

现在对我来说很好。


在声明GoalIdsArray类型时,迭代器无法在String.Join中运行。

尝试:

1
2
int[] GoalIds = FilteredEmpGoals.Select(x => x.GoalId).Distinct().ToArray();
var result = string.Join(",", GoalIds);

正如@jeppestignielsen在评论中所指出的,这也是有效的,并且消除了ToArray呼叫:

1
var GoalIds = FilteredEmpGoals.Select(x => x.GoalId).Distinct();


我已经用C语言运行了这段代码,它工作正常,不知道你有什么问题。

1
2
3
4
int[] GoalIds = new int[7] { 31935,31940, 31976,31993, 31994, 31995, 31990};
var a = string.Join(",", GoalIds);
Console.WriteLine(a);
Console.ReadLine();