Reputation: 32382
Ok, this is a dumb thing that I'm sure I've done dozens of times but for some reason I can't find it.
I have an array... And want to get a string with the contents of that array separated by a delimited...
Where is the .Join() method that I can't find?
(This is .Net 2.0, I don't have any LINQ stuff.)
Upvotes: 41
Views: 54545
Reputation: 29829
If you really like the ergonomics of Array.Join, you can add an Extension Method like this:
public static class MyExtensions {
public static string Join(this IEnumerable<string> arr, string seperator) =>
string.Join(seperator, arr);
}
And then use like this:
var list = new string[] {"A", "B", "C"};
var output = list.Join(",");
// "A,B,C"
Upvotes: 0
Reputation: 4383
If you're working with strings, then String.Join
is probably what you're looking for.
Upvotes: 52
Reputation: 81
Dim arrStrIds() As String = Array.ConvertAll(arrIntIds, New Converter(Of Integer, String)(
Function(id As Integer) id.ToString()) )
String.Join(",", arrStrIds)
Upvotes: 4
Reputation: 41
you don't need to convert the array into a string array in .NET Framework 4. i don't know about previous Frameworks. so the previous code spends several lines converting your int array into a string array. just skip that step (if it also works in your Framework).
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
*/
Upvotes: 1
Reputation: 5908
You could use LINQ to Objects and save yourself a few lines
int [] ints = { 0, 1, 2 };
string[] intStrings = (from i in ints select i.ToString()).ToArray<string>();
string joinedStrings = string.Join(",", intStrings);
Oops, Just saw that you don't have LINQ, sorry.
Upvotes: 2
Reputation: 99674
It is on the string class
String.Join(",", new string[] {"a", "b", "c"});
Edit for ints to string
int[] integers = new int[] { 1,2,3,4,5 };
String.Join(",", Array.ConvertAll<int, String>(integers, Convert.ToString));
Upvotes: 37
Reputation: 104030
You can find the method in the String class.
Example using Split and Join:
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);
}
Upvotes: 1
Reputation: 38346
If you have an array of strings
you can call String.join(String, String[])
. You can use it even if you don't have an array of strings
, you just have to be able to convert your objects
to 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);
Upvotes: 4