andrewducker: (Default)
[personal profile] andrewducker
The code I've been writing to convert a list into a comma-delimited string that consists of:
var duckerBrothers = new List<string> { "Andy", "Mike", "Hugh" };
var output = string.Empty;
foreach (var duckerBrother in duckerBrothers)
{
if (output != string.Empty)
{
output += ", ";
}

output += duckerBrother;
}

Can be rewritten as:
var duckerBrothers = new List<string> { "Andy", "Mike", "Hugh" };
var output = string.Join(",", duckerBrothers);

That's what I get for assuming that there is no built-in way of doing things.

Date: 2013-01-15 04:07 pm (UTC)
simont: A picture of me in 2016 (Default)
From: [personal profile] simont
I had that problem in Python once, and found it needed fewer special-case handlers than I'd expected:
    answer = ", ".join(words[:-2] + [" and ".join(words[-2:])])
Though that does rely on Python's array slice expressions having the right edge-case behaviour when the array gets shorter than 2 elements, and I don't know if C# will do the same.

September 2025

S M T W T F S
  12 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21222324252627
282930    

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 20th, 2025 04:00 pm
Powered by Dreamwidth Studios