我目前正在 C# 中进行原型设计,因为这是它唯一有用的东西。现在我正在学习 linq 并遇到了语法 nitpick。
private List<string> svar1 = new List<string>();
private List<string> svar2 = new List<string>();
private List<string> svar3 = new List<string>();
private List<string> svar4 = new List<string>();
private List<string> svar5 = new List<string>();
... fill lists with data
为了在所有这些列表中获得最长的字符串长度,我这样做:
List<List<string>> lists = new List<List<string>>{svar1, svar2, svar3, svar4, svar5};
int ma = lists.Max(lst => lst.Max(str => str.Length));
但是好像太长了。你不应该把它写得更短,也许更有效吗?
就像是:
int ma = {svar1, svar2, svar3, svar4, svar5}.Max(lst => lst.Max(str => str.Length));
我看过有关这种 linq 语法的视频,但那是很久以前的事了,我不记得语法了。一些互联网搜索后,我仍然找不到一个好的答案。
更新:所有列表每个都有大约 870 个项目。