小编Gur*_*epS的帖子

什么是不变性,我为什么要担心它?

我已经阅读了几篇关于不变性的文章,但仍然没有很好地遵循这个概念.

我最近在这里提到了一个线程,提到了不变性,但由于这本身就是一个话题,我现在正在制作一个专门的线程.

我在过去的帖子中提到过,我认为不变性是将对象设为只读并使其可见性低的过程.另一位成员表示,这与此没有任何关系.此页面(系列的一部分)使用不可变类/结构的示例,它使用readonly和其他概念将其锁定.

在这个例子中,状态的定义究竟是什么?国家是一个我没有真正掌握的概念.

从设计指南的角度来看,一个不可变的类必须是一个不接受用户输入并且真的只返回值的类?

我的理解是,任何只返回信息的对象都应该是不可变的并且"锁定",对吧?因此,如果我想在具有该方法的专用类中返回当前时间,我应该使用引用类型,因为它将工作类型的引用,因此我受益于不变性.

oop immutability

56
推荐指数
4
解决办法
7726
查看次数

是否可以编写类似 - ()()的语法?

我在某个地方读了一本电子书(我很想再次找到),通过使用委托,可以编写具有如下语法的代码:

 ()(); // where delegate precedes this.
Run Code Online (Sandbox Code Playgroud)

任何人都可以提供任何细节如何可能/在什么情况下会发生这种情况?

c#

47
推荐指数
4
解决办法
3850
查看次数

将接口转换为其具体实现对象,反之亦然?

在C#中,当我有一个接口和几个具体实现时,我可以将接口转换为具体类型还是具体类型转换为接口?

这种情况下的规则是什么?

c# oop

39
推荐指数
2
解决办法
7万
查看次数

在linq的where where方法中使用多个条件

我有一行代码使用:

codebase.Methods.Where(x => x.Body.Scopes.Count > 5);
Run Code Online (Sandbox Code Playgroud)

如何插入多个条件?所以我可以说x => predicate && y => predicate

谢谢

c#

37
推荐指数
2
解决办法
7万
查看次数

抛出并捕获异常后继续执行代码

抛出异常后如何恢复代码执行?

例如,请使用以下代码:

namespace ConsoleApplication1
{
    public class Test
    {
        public void s()
        {
            throw new NotSupportedException();
            string @class = "" ;
            Console.WriteLine(@class);
            Console.ReadLine();
        }
    }

    public class Program
    {
        public static void Main(string[] args)
        {
            try
            {
                new Test().s();
            }
            catch (ArgumentException x)
            {
            }
            catch (Exception ex)
            {
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在单步执行时捕获异常后,程序将停止运行.我怎么还能继续执行?

编辑:我特别指的是Console.WriteLine(@class)行; 似乎没有被击中,因为当我在调试模式下运行它时,程序退出调试模式.我想跑到这条线并停下来.

谢谢

c# exception-handling exception

29
推荐指数
3
解决办法
8万
查看次数

检查字符串之间是否有空格(或任何地方)

有没有办法确定字符串中是否有空格?

sossjjs sskkk应该返回true,并且sskskjsk应该返回false.

"sssss".Trim().Length 似乎不起作用.

c#

29
推荐指数
4
解决办法
9万
查看次数

在事件处理程序中使用null check

检查事件处理程序是否为null时,是否基于每个线程完成?

确保有人正在听这个事件就像这样:

EventSeven += new DivBySevenHandler(dbsl.ShowOnScreen);
Run Code Online (Sandbox Code Playgroud)

如果我在上面检查null的模式之后添加代码,那么为什么我需要一个空检查(从这个站点获取的代码).我错过了什么?

此外,事件和GC的规则是什么?

c#

27
推荐指数
3
解决办法
4万
查看次数

实现细节的定义是什么?

我在互联网上看到这个术语很多(事实上,在google上输入它会返回很多结果).

"实施细节"的确切定义是什么?

terminology

27
推荐指数
3
解决办法
9337
查看次数

什么是一流的编程结构?

当试图在C#中做一些相当先进的事情时(比如某种黑客),提出了"头等"的概念.

例如,一个方法是第一类编程构造,因为你可以用它做xyz(xyz不是方法所做的,但是一般的方法给你什么,我不记得xyz现在是什么),但是. NET 1.1委托无法传递给方法,因为它们不是一流的编程结构(我读过这些内容).

什么是一流的编程结构?

谢谢

.net

25
推荐指数
3
解决办法
7564
查看次数

在调试/单步调试中检查变量时,函数评估超时

在调试/单步执行代码时,我尝试检查监视中的变量,每次内部变量说明函数评估超时都会出错.

有谁知道这是为什么以及如何避免它?因为它影响了我调试代码的能力.

这是在VS2010 Premium内.

.net c# visual-studio-2010

24
推荐指数
2
解决办法
4万
查看次数