クラスのプロパティで特定のインスタンスを参照できるようにLstクラスを作成するにはどうすればよいですか? Listで可能でない場合、Lst []配列で可能ですか?このパターンのリストの作成/使用/参照は名前を持っていますか?c#プロパティの値をインデックスとして使用してリストからクラスインスタンスを参照する
私が手にエラーが2リットルのArgument 1: cannot convert from 'string' to 'int'
[「..リスト」] Console.WriteLineを(内部で)
namespace ConsoleApplication1 {
public class Lst {
public string Name;
public Lst(string Name) { this.Name = Name; }
public Lst this[string Name] { get { return this[Name]; } }
}
class Program {
static void Main(string[] args) {
List<Lst> l = new List<Lst>();
l.Add(new Lst("1stList"));
Console.WriteLine("List {0}:", l["1stList"].Name);
Console.WriteLine("List {0}:", l["2ndList"].Name);
Console.ReadKey();
}
}
}
誤りがありますあなたの 'Lst'クラスではありません。 'List'の場合、 'int'の位置でインデックスを付けます。 –
krillgar
あなたの 'Lst'は何のものでもありません。それはコレクションでもありません。それは単一のプロパティ( 'Name')を持つクラスです。インデクサーは無意味です(実際には自己参照型であり、スタックを爆破します)。あなたが実際に呼び出すインデクサーは 'List'に属しています。 –
itsme86
'List'の代わりに 'Dictionary 'を使ってみてください。ただし、オーバーヘッドは小さいです(キー値は2倍になります)。 –
Sinatr