我一直在进行C#面向对象编程的速成课程,想知道下面代码中的“LIST”关键字代表什么:
var actors = new List<Actor>();
class List
{
public List( ) { }
public void Add( object toAdd ) { /*add 'toAdd' to an object array*/ }
public void Remove( object toRemove ) { /*remove 'toRemove' from array*/ }
public object operator []( int index ) { /*index into storage array and return value*/ }
}
List list = new List( );
list.Add( 1 );
list.Add( "uh oh" );
list.Add( 2 );
int i = (int)list[1]; // boom goes the dynamite
class List<T>
{
// 'T' is our type. We don't need to know what 'T' is,
// we just need to know that it is a type.
public void Add( T toAdd ) { /*same as above*/ }
public void Remove( T toAdd ) { /*same as above*/ }
public T operator []( int index ) { /*same as above*/ }
}
List<int> list = new List<int>( );
list.Add( 1 ); // fine
list.Add( "not this time" ); // doesn't compile, you know there is a problem
这不是一个关键词,而是一个类标识符。
List<Actor>() 描述了一个 Actor 对象列表。通常,列表是一组按照某种方式排序并且可以通过索引访问的对象。
C#
可能有点生疏,但我认为那不是C#
的语法...请记住,C#
是强类型的,所以var foo =
不被允许(如果我没记错的话)。 - Sampson