Array.加入.Net?

问题描述 投票:0回答:8

好吧,这是一件愚蠢的事情,我确信我已经做过几十次了,但由于某种原因我找不到它。

我有一个数组...并且想要获取一个字符串,其中该数组的内容由分隔符分隔...

我找不到的.Join()方法在哪里?

(这是.Net 2.0,我没有任何 LINQ 的东西。)

arrays join .net-2.0
8个回答
52
投票

如果您正在使用字符串,那么

String.Join
可能就是您正在寻找的。


37
投票

它在字符串类上

String.Join(",", new string[] {"a", "b", "c"});

编辑整数到字符串

 int[] integers = new int[] { 1,2,3,4,5 };
 String.Join(",", Array.ConvertAll<int, String>(integers, Convert.ToString));

4
投票

如果你有一个

strings
数组,你可以调用
String.join(String, String[])
。即使您没有
strings
数组,您也可以使用它,只需能够将
objects
转换为
strings

object[] objects = ...
string[] strings = new string[objects.Length];
for (int i = 0; i < objects.Length; i++)
  strings[i] = objects[i].ToString();
string value = String.Join(", ", strings);

4
投票
Dim arrStrIds() As String = Array.ConvertAll(arrIntIds, New Converter(Of Integer, String)(
 Function(id As Integer) id.ToString()) )

String.Join(",", arrStrIds)

2
投票

您可以使用 LINQ to Objects 来节省几行代码

int [] ints = { 0, 1, 2 };
string[] intStrings = (from i in ints select i.ToString()).ToArray<string>();
string joinedStrings = string.Join(",", intStrings);

哎呀,刚刚发现您没有 LINQ,抱歉。


1
投票

您可以在String类中找到该方法。

使用拆分和连接的示例:

 public static void Main() { 

    string str = "on two three, four five six."; 
    char[] separators = {' ', '.', ',' }; 

    // Split the string:
    string[] parts = str.Split(separators); 

    string allTogether = String.Join(" | ", parts); 

    Console.WriteLine("Joined: "); 
    Console.WriteLine(allTogether); 


  } 

1
投票

您不需要在.NET Framework 4中将数组转换为字符串数组。我不知道以前的框架。因此前面的代码花费了几行将 int 数组转换为字符串数组。只需跳过该步骤(如果它也适用于您的框架)。

string[] sA = "11,12,13".Split(',');
int[] iA = { 21, 22, 23};
Console.WriteLine(string.Join("+", iA) + " -- " + string.Join("+", sA));

/* displays:
21+22+23 -- 11+12+13
*/

0
投票

如果您真的喜欢 Array.Join 的人体工程学,您可以添加一个扩展方法,如下所示:

public static class MyExtensions {
    public static string Join(this IEnumerable<string> arr, string seperator) =>
        string.Join(seperator, arr);
}

然后像这样使用:

var list = new string[] {"A", "B", "C"};
var output = list.Join(",");
// "A,B,C"

.NET Fiddle 中的演示

© www.soinside.com 2019 - 2024. All rights reserved.