小编Viv*_*kla的帖子

使用用例来理解为什么应该将字符串列表声明为readonly

我试图了解哪些用例需要我将List <string>声明为ReadOnly类型.

与此相关的问题是:列表实例化时会分配多少内存?

c# clr

10
推荐指数
1
解决办法
2532
查看次数

在哪些用例中我需要 WSL

好的,我在 Microsoft 文档中阅读了有关 WSL 的内容 https://learn.microsoft.com/en-us/windows/wsl/about

第一段说

适用于 Linux 的 Windows 子系统允许开发人员直接在 Windows 上运行 Linux 环境(包括大多数命令行工具、实用程序和应用程序),无需修改,无需虚拟机开销。

我的问题是;作为开发人员,在什么情况下我希望在 Windows 中运行 Linux 环境?可能是当我为 Linux 操作系统开发一些东西但没有可用的 Linux 操作系统时?或者还有更多内容?

我是该子系统的新手,因此任何指导将不胜感激。

linux windows raspberry-pi raspberry-pi3 windows-subsystem-for-linux

6
推荐指数
1
解决办法
4237
查看次数

在中间添加枚举

我偶然发现了一个代码,我的同事最近修改了现有的枚举,并在最后一个枚举之前添加了另一个枚举,我猜他可能已经这样做了,因为最后一个枚举是None(我们不在同一个时区讨论).

我担心的是,如果解决方案中的任何代码试图获取None Enum的整数值(幸运的是我无法找到它,但是将来某些代码会尝试做什么),那么这可能会产生错误的结果.

这不安全吗?

  1. 在最后添加枚举
  2. 或者将整数值与每个枚举相关联,以便解决排序问题?

请多点亮一点.

更新: 在其中一个问题中,我读到@Marc Gravell提到插入中间是危险的,我是否理解正确?请参阅/sf/answers/890123041/

c# enums

5
推荐指数
1
解决办法
549
查看次数

Null Conditioning运算符不能用于赋值?

请查看以下代码并帮助我直观地了解我收到编译器错误的原因.

class Program
{
    static void Main(string[] args)
    {
        Sample smpl = GetSampleObjectFromSomeClass();

        //Compiler Error -- the left-hand side of an assignment must be a variable property or indexer
        smpl?.isExtended = true; 
    }
}

public class Sample
{
    public bool isExtended { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我是否应该推断出空调节仅用于访问属性,变量等而不是用于分配?

注意:我已经提到了类似的帖子(链接如下),但在我看来,没有进行足够的讨论.为什么C#6.0在使用Null传播运算符时不允许设置非null可空结构的属性?

编辑:我期待着类似的东西

If(null!= smpl) 
{ 
smpl.isExtended = true; 
}
Run Code Online (Sandbox Code Playgroud)

好像我的期望是不对的!

c# c#-6.0

3
推荐指数
1
解决办法
263
查看次数