私は現在C#でプロトタイピングしています。それが、C#に適している唯一のことだからです。今、私はlinqを学習していて、構文の問題に遭遇しました。
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個のアイテムがあります。