相关疑难解决方法(0)

列表与数组中的索引器

如何在列表和数组中定义索引器.

List<MyStruct> lists=new List<MyStruct>();MyStruct结构在哪里.现在考虑一下 MyStruct[] arr=new MyStruct[10];

arr[0]给出了第一个Structure项的引用.但是lists[0]给了我一份它的副本.是否有任何理由这样做.此外,由于Int32结构是List<Int32> list1 =new List<Int32>();如何可以访问list1[0]或分配list1[0]=5在不可能的地方lists[0]._x=5

c# value-type

10
推荐指数
2
解决办法
9806
查看次数

为什么有些类型没有文字修饰符

例如,为什么long int有一个文字修饰符,但是short int不是?我指的是这个网站上的以下问题:C#编译器编号文字

通常,C#似乎是一种设计良好且一致的语言.可能有一个强有力的理由为某些类型提供文字修饰符,但不是所有类型.它是什么?

c# literals

9
推荐指数
2
解决办法
5033
查看次数

为什么我可以ref返回仅存在于方法内的数组项?

我正在尝试C#7的新ref参考.

我能够编译和构建这个:

        public ref string MisUseRefReturn(int index)
    {
        string[] array = { "a", "b", "c", "d" };
        return ref array[index]; //array[2] gets out of scope when this method returns!
    }
Run Code Online (Sandbox Code Playgroud)

根据MSDN:返回值不能是返回它的方法中的局部变量; 它的范围必须超出返回它的方法.它可以是类的实例或静态字段,也可以是传递给方法的参数.尝试返回局部变量会生成编译器错误CS8168,"无法通过引用返回本地'obj',因为它不是ref本地."

那为什么这会编译?当我执行此方法时,返回的引用显示正确的字符串.

ref c#-7.0

8
推荐指数
2
解决办法
240
查看次数

标签 统计

c# ×2

c#-7.0 ×1

literals ×1

ref ×1

value-type ×1