キャストリスト<int> リスト<string> ます。純2.0
質問
でんキャスト List<int>
へ List<string>
なんだか?
知っていうループを通じてます。ToString()のものが、キャストする。
私はクライアントまで、フルのC#2.0(いない LINQ).
解決
.純2.0の ConvertAll
方法で渡すことができます(aコンバーター機能:
List<int> l1 = new List<int>(new int[] { 1,2,3 } );
List<string> l2 = l1.ConvertAll<string>(delegate(int i) { return i.ToString(); });
他のヒント
更新2010年
List<int> l1 = new List<int>(new int[] { 1,2,3 } );
List<string> l2 = l1.ConvertAll<string>(x => x.ToString());
C#2.0できない List<T>.Convert
?その場合、行きたいというニーズが最も使うことdelegate:
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);
list.Convert(delegate (int i) { return i.ToString(); });
何かをされるようになっています。
Upvoteグレンの応答は、おそらく、正しいコード-)
ないと思われることができキャストしてないの明示的または暗黙的なキャストが存在するからintへの文字列で してい する方法.ToString()など-
foreach (int i in intList) stringList.Add(i.ToString());
編集 もしくはその他摘のような華やかに、利用intList.ConvertAll(delegate(int i){returnん。ToString();});しかし、明確に使います。ToString()この変換ではなくキャスト製。
利用できる:
List<int> items = new List<int>(new int[] { 1,2,3 } );
List<string> s = (from i in items select i.ToString()).ToList();
きを一覧です。基になるビットの表現 List<int>
や List<string>
完全に互換性のない--、64-bitプラットフォームインスタンスは、個々の会員になっても同じサイズです。
では理論的に扱うことが可能になり、 List<string>
として List<object>
--この新しくできたの豪快な世界の共分散とcontravarianceではないとして、現在サポートされるC#アプリケーションVB.NET.
result = listOfInt.Select(i => i.ToString(CultureInfo.InvariantCulture)).ToList()
置き換えるパラメータの結果とlistOfIntをパラメータ