- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我一直在学习 C# OOP 的速成类(class),很想知道“LIST”关键字在下面的代码中代表什么:
var actors = new List<Actor>();
最佳答案
List<T>
是一个带有类型参数的类。这称为“泛型”,允许您在类中不透明地操作对象,这对于列表或队列等容器类特别有用。
容器只是存储东西,它并不真的需要知道它存储的是什么。我们可以在没有泛型的情况下像这样实现它:
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
在 C# 中使用泛型允许我们以类型安全的方式使用这些类型的容器类。
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
希望对您有所帮助。抱歉,如果我在那里犯了任何语法错误,我的 C# 已经生锈了;)
关于C# 概念 : what the "LIST" keyword represents?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2182510/
如果向下滚动 this page有点,你会看到英国英语连字符模式,如: \patterns{ % just type if you're not using INITEX .ab4i .ab3ol
这可能是一个愚蠢的菜鸟问题,但 : 在以下上下文中表示什么: var stuffToDo = { 'bar' : function() { alert('the value w
考虑一个基于方 block 的游戏,其中每个代理都可以直线/对角线(8 个方向)移动。基本上,像这样的 map 可以表示为规则的二维网格,其中 0 表示可步行位置,1 表示不可步行位置(我使用的是 L
这个问题已经有答案了: Retrieving the last record in each group - MySQL (33 个回答) 已关闭 4 年前。 我正在尝试进行查询,我正在尝试获取某些字
我们正在创建一种非常简单的编程语言,使用 Flex 和 Bison 进行解析和语法分析,并使用 C 构建编译器。 在直接进行汇编之前,我们将根据语言规则创建一个抽象语法树。但是我们很难从语言中表示一个
我从一个文本文件中接收数据,其中的日期通常采用“标准时间”(例如中部标准时间或东部标准时间。我的意思是没有观察到夏令时调整)。使用 Noda Time,我试图找出表示这一点的最佳方式。 我的第一个想法
我有一个实体,例如 compound_tax。每个compound_tax 可以由另一个实体tax 的多个实例组成。例如,一个 compound_tax 可以由两种税组成(顺序可能很重要): VAT:
问题:如何使用连续 map - Link1: Bernoulli Shift Map为二进制序列建模? 概念:Dyadic 映射也称为 Bernoulli Shift 映射,表示为 x(k+1) =
我正在玩指向成员的指针,并决定实际打印指针的值。结果出乎我的意料。 #include struct ManyIntegers { int a,b,c,d; }; int main () {
我一直在学习 C# OOP 的速成类(class),很想知道“LIST”关键字在下面的代码中代表什么: var actors = new List(); 最佳答案 List是一个带有类型参数的类。这称
我刚刚开始使用 Coursera 的 Scala 函数式编程,我发现很难提交我的作业。我可以在我的 IntelliJ IDE 中单独运行我的函数,但是当我进入终端并输入 sbt about 时,我收到
我有一个基本的 Nestjs - Mongoose - Graphql api,我定义了两个模式:User和 Event //USER Schema @Schema() export class Us
我有这个数据: # A tibble: 19 x 8 country Prop_A Prop_B Prop_C
在 Akka 流中,Mat in Source[Out, Mat] 或 Sink[In, Mat] 代表什么。什么时候会真正使用? 最佳答案 Mat type 参数表示此流的具体化值的类型。 请记住,
Range.SpecialCells method可用于返回满足特定条件的 Range 对象。标准的类型是使用 xlCellType 常量指定的。 其中一个常量 (xlCellTypeBlanks)
问题 我有一个复杂的查询,该查询连接三个表并返回一组行,每一行都包含来自其同级表的数据。如何以RESTful方式表示这一点? FWIW我知道不一定有“正确”的方法来做,但是我有兴趣了解什么是这种情况下
有没有一种方法可以生成从 red 到 的 UIColor 表(或者 UIColor 的数组) green 这样变量 var match = 100 将具有相应的颜色 green 而 var match
你好, 我正在学习 html 和 css。为了更好地理解进度条的工作原理,我创建了一个带有几个按钮和进度条的小型演示页面。 正如您在下面的 CSS 代码中看到的,我特别要求进度条的背景显示为红色。这在
我正在尝试编写一个函数来初始化数组并在返回之前将其打乱。 将 numba 导入为 nb @nb.jit(nopython=True, cache=True) def test(x): ind
我有一个数据库 winforms 应用程序,它使用以 C# 编写的 SQLite。我正在尝试使用 C# 包装器执行一些 SQLite 查询,但在检查 NULL 值的查询中遇到了一些问题。这是调用语句。
我是一名优秀的程序员,十分优秀!