構造体にリストを追加することはできますか?構造にリストを追加することは可能ですか?
public struct test
{
public string x;
list<string> y = new list<string>();
}
何か?
アイブしようとしてきたがイムはちょうど
構造体にリストを追加することはできますか?構造にリストを追加することは可能ですか?
public struct test
{
public string x;
list<string> y = new list<string>();
}
何か?
アイブしようとしてきたがイムはちょうど
はい、構造体にリストを含めることはできますが、フィールド初期化子でリストを初期化することはできません。代わりにコンストラクタを使用する必要があります。
struct MyStruct
{
public List<string> MyList;
public int MyInt;
public MyStruct(int myInt)
{
MyInt = myInt;
MyList = new List<string>();
}
}
構造体は、コンストラクタを持つことができますし、コンストラクタでリストをインスタンス化することができ、それを得ていません。
私はC#の専門家ではありませんが、構造はメモリの外観の単なるプロトタイプです。 "new list()"を実行してリスト変数に代入できるようにするには、構造変数を宣言する必要があります。
struct testのようなもの; a.y =新しいリスト();
私はC#でプログラミングしたことがないので、Cの構文をC#に変換してください。
これは可能です - 構造体のコンストラクタを宣言し、構造体コンストラクタでリストインスタンスを作成します。コードスニペットで提案したようにイニシャライザを使用することはできません。
"private list
イェップ、私は同時にそれをテストし、答えを更新しました。 – sharptooth
また、パラメータのないコンストラクタを使用することはできません。 –
私はそれが何を意味するのかよくわかりません – Crash893
ポイントは...構造体は可変型(または可変エンティティの集合)を参照すべきではありません。 – boctulus