so I show the first letter of each name, starting with the letter A and up to Z
something like that:
A
Anthony
Allan
...
B
Bean
Builder
....
C
Charyl
Charles
...
Z
Zoah
....
how can i make this code more optimized and use fewer lines?
int _a = 0; int _b = 0; int _c = 0; ... ... .. int _z = 0; protected void ListItem(List<Customer>.Enumerator cust) { if (cust.MoveNext()) { Customer t = cust.Current; string[] list = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "v", "z" }; var output = list.Aggregate("", (current, listitem) => current + (Environment.NewLine + "<h1 id='" + listitem.ToUpper() + "'><span>" + listitem.ToUpper() + "</span></h1>")); string _name = t.Name.Substring(0, 1).ToUpper(); if (_name == list[0].ToUpper()) { if (_a == 0) { l = new Literal(); l.Text = "<h1 id='A'><span>A</span></h1>" + Environment.NewLine; ..... _a = 1; } if (_name == list[1].ToUpper()) { if (_b == 0) { l = new Literal(); l.Text = "<h1 id='B'><span>A</span></h1>" + Environment.NewLine; ..... _b = 1; } } ... .... .... ... doing through Z }
source share