Re:Programming languages: This old favourite is gaining popu...
by to11mtm on Tuesday December 07, 2021 @02:08PM
(#29476833)
> Does anyone know why this form is not used?
Likely because early versions of C# (Pre-generics) wouldn't have had a good way to specifically offer a .Join method on string arrays specifically.
Now that we have generics, .Join() on an array normally refers to a type of Linq operation where you join two sequences together. You actually probably could make an extension method for your own usage in-app that would give you this functionality; if I had to guess why they didn't, I would assume it would consume Linq users.
OTOH that's kinda the nice thing about C# though. It's easy to go:
public static class StringArrayExtensions
{
public static string Join(this string[] arr, string joinToken)
{
return string.Join(joinToken, arr);
}
}
and package such utility functions into a shared lib for your team to use.
Re:Programming languages: This old favourite is gaining popu...
by arun_m on Tuesday December 07, 2021 @05:10PM
(#29478856)
There is a Join method in Linq, with entirely different meaning and matches string[]
https://docs.microsoft.com/en-us/dotnet/api/system.linq.enum...
As an aside, it's always interesting to see how standard libraries do splits and joins between arrays/tuples/collections and strings.
In Perl they're both functions:
In Python they're methods on the separator or tuple: That idea that you're telling comma to join a group of items always rubbed me wrong. In C#, joining is a class method: Here "string" is a class name. The lack of parallelism grates on me somewhat. I think I would have preferred Does anyone know why this form is not used?