Hallojsan! Något like detta kanske?Nån form av Hashtable/Array/Collection pryl
Håller på med ett enkelt template system i C# och har en fråga, ska göra så man kan lägga till loopar nu, och har så här i klassen.
<code="C#">assign_loop(string key, Hashtable v)</code>
Så, nu ska det alltså läggas i nån form av hållare som kommer ihåg allt..
Eftersom att key kan vara samma flera gånger så måste det göras så det går att lägga till values på samma key..
Lite kort hur jag tänkte det
<code="C#">
//loops är en Hashtable
foreach(string k in v.Keys)
{
loops[key].Add(v[k]);
}
</code>
Nu går det ju inte att göra så, men så ska det vara, om ni förstår hur jag menar..
(För er som kan PHP så ser det ut så här där):
<code>//$name är motsvarande key
//$vars är motsvarande v
$this -> _blocks[$name][] = $vars;</code>
Tack på förhand,
PatrikSv: Nån form av Hashtable/Array/Collection pryl
<code>
public void Add(object key, object value)
{
if( key == null )
throw new ArgumentNullException("key");
if( this._myHashtable[key] == null )
{
ArrayList myList = new ArrayList();
myList.Add(value);
this._myHashtable.Add(key, myList);
}
else
{
((ArrayList)this._myHashtable[key]).Add(value);
}
}
public object GetValue(object key, int index)
{
if( key == null )
throw new ArgumentNullException("key");
if( this._myHashtable[key] == null )
return null;
ArrayList myList = (ArrayList)this._myHashtable[key];
if( index > myList.Count || index < 0 )
throw new IndexOutOfRangeException(...);
return myList[index];
}
</code>
om du är 100% säker på att den angivna nyckeln och listans index finns så kan du skriva följande för att få ut värdet:
object value = ((ArrayList)this._myHashtable[key])[index];
/Fredrik Normén NSQUARED2
http://fredrik.nsquared2.com