私はパラメータとしてIList<string> someVariable
をとる関数を持っています。私はアルファベット順に値をソートできるようにこれをリストに変換したい。リストに<string>を変換する<string>()
どうすればよいですか?
私はパラメータとしてIList<string> someVariable
をとる関数を持っています。私はアルファベット順に値をソートできるようにこれをリストに変換したい。リストに<string>を変換する<string>()
どうすればよいですか?
あなただけ
var list = new List<string>(myIList);
list.Sort();
または
var list = myIList as List<string>;
if (list != null) list.Sort; // ...
与えられた 'IList
多分私はこれで100%はっきりしていなかったかもしれません - それは間違いではありません。この種の状況では動作していません(ソートは呼び出されません)。しかし、ヒントのためにあなたに感謝します。 ) – Carsten
*このような状況で*どのように動作していない*は間違っていませんか? 'IList
のIListはIEnumerableを実装して行うことができます。 .ToList()メソッドを使用します。
var newList = myIList.ToList();
newList.Sort();
'.ToList'の前に' .Cast <> 'を呼び出す必要があると思います –
IList<string> someVariable = GetIList();
List<string> list = someVariable.OrderBy(x => x).ToList();
あなたはそうのようなIList<string>
をソートするためにLINQを使用することができます。
IList<string> foo = .... ; // something
var result = foo.OrderBy(x => x);
あなたは物事をソートするリストに変換する必要はありません。あなたのソート方法はリストを必要としますがIListを受け入れませんか?私はこれが実際の問題だと思うでしょう。
さらにリストが本当に必要な場合は、IListの本物がリスト(多少はありそうですが)であれば、それをそのまま解釈することができます。新しいリストを作成する前に既にリストであるかどうかを最初に確認する
var concreteList = parameter as List<T> ?? parameter.ToList();
実際にリストをソートするか、特定の順序で繰り返し処理する必要がありますか? – R0MANARMY