1
Ich habe den folgenden Code, den ich versuche, mit Foreach arbeiten. Ich spiele mit C# also sehr Anfänger, aber ich kann nicht scheinen, dass das IEnumerable Bit funktioniert ?? Kann mir bitte jemand sagen, wie ich meine Listeneigenschaft überschleifen kann.Enable foreach auf SortedList
using System;
using System.Collections;
using System.Collections.Generic;
namespace MyApplication
{
class arrayLess : IEnumerable {
SortedList<string,dynamic> list = new SortedList<string,dynamic>();
// Will need to update global list of array_values
// This will be a proper array
public void add(dynamic key,dynamic val){
list[key.ToString()] = val;
}
// Could be int in which case need a list that isn't a sortedList?
public dynamic get(dynamic key){
return list[key.ToString()];
}
IEnumerator<string> IEnumerable<string>.GetEnumerator(){
Console.WriteLine("HERE");
return this.list.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator(){
return this.list.GetEnumerator();
}
}
class launcher {
static void Main(string[] args){
helloWorld HW = new helloWorld();
HW.test();
}
}
class helloWorld {
// Define the variable and type
arrayLess resultSet;
public void test(){
resultSet = new arrayLess();
resultSet.add("test",new arrayLess());
resultSet.add(5,"Does this work?");
resultSet.get("test").add("new","value");
Console.WriteLine(resultSet.get("test").get("new"));
Console.WriteLine(resultSet.get(5));
foreach(string key in resultSet){
Console.WriteLine(key);
}
}
}
}
Wohin geht das? – UKUser35
@ UKUser35 in 'IEnumerator IEnumerable .GetEnumerator()' und 'IEnumerable.GetEnumerator()' –
@ UKUser35 beachten Sie, dass die Spitze Ihrer Klasse sollte auch 'sagen: IEnumerable', nicht ': IEnumerable' –