読者です 読者をやめる 読者になる 読者になる

(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

配列⇔List変換、Listのコピー、末尾の改行文字等削除【C#】


このエントリーをはてなブックマークに追加

C#関連で記事のするほどじゃないけど、まとめておきたいモノを複数列挙する感じの記事です。
Tipsみたいなものなのでそれぞれに関係はありません。


配列⇔List変換

配列とListの変換は以下のように行います

//配列→List
string[] stringArray = new string[] {"test1", "test2"};

List<string> stringList = new List<string>();
stringList.AddRange(stringArray);

//List→配列
List<string> stringList = new List<string>(){"test1", "test2"};

string[] stringArray = stringList.ToArray();



上記のように、宣言時に{}内で初期化する事もできます。


Listのコピー

Listをコピーする時には以下の二つの方法があります。

List<string> list1 = new List<string> (){"test"};

//シャロウコピー、list1の内容が変わるとlist2の内容も変わる
List<string> list2 = list1; 

//ディープコピー、list1の内容が変わってもlist3の内容は変わらない
List<string> list3 = new List<string>(list1); 


参照渡しの事をシャロウコピー値渡しの事をディープコピーっていうですね、

こっちの方がかっこいい…!


末尾の改行文字等削除

stringの末尾にある改行文字等を削除する時は、TrimEnd()が使えます。

string text = "test\n";
Debug.Log (text + text);
Debug.Log (text.TrimEnd() + text.TrimEnd());

test
test

testtest


文字列の前後に付いている余計な文字を削除する: .NET Tips: C#, VB.NET


改行文字以外にも、スペースやタブ文字も削除します。