小编Joa*_*nge的帖子

C#界面问题

将对象传递给实现特定接口的函数是否有成本,其中函数只接受该接口?喜欢:

Change (IEnumerable<T> collection)
Run Code Online (Sandbox Code Playgroud)

我通过:

List<T>
LinkedList<T>
CustomCollection<T>
Run Code Online (Sandbox Code Playgroud)

所有这些都实现了IEnumerable.但是当你将其中的任何一个传递给Change方法时,它们是否会被转换为IEnumerable,因此有一个演员阵容,但也有失去他们独特方法的问题等等?

.net c# performance ienumerable interface

8
推荐指数
1
解决办法
484
查看次数

例外与特殊回报值

编程中哪一个更好?

我不是在谈论完全排他性.对于以下内容更有用:

list<T>.Find,你得到的default(T)或你的价值,而不是ValueNotFound例外(例子).

要么

list<T>.IndexOf,你得到-1或正确的索引.

.net c# exception

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

不变性的真正定义?

我想知道如何定义不变性?如果这些值没有公开,那么无法修改,那就够了吗?

是否可以在类型内修改值,而不是类型的客户?

或者只能在构造函数中设置它们?如果是这样,在双初始化的情况下(this在结构上使用关键字等)对于不可变类型仍然可以吗?

我怎样才能保证类型是100%不可变的?

.net c# immutability

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

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

不可变性对非并行应用程序有用吗?

我喜欢不变性概念,但有时我想知道,当一个应用程序不是平行的时候,应该避免让事情变得不可变吗?

当应用程序不是多线程的时,您不会受到共享状态问题的困扰,对吧?

或者不变性是像OOP这样的概念,你要么一直使用?排除基于使用/性能等因素不应该不可变的情况.

在为自己编写应用程序时,我遇到了这个问题,这个问题是适度的(可能像1-2k行).

.net c# performance immutability

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

为什么csv.reader不是pythonic?

我开始在Python 2.6中使用csv.reader,但你不能使用len它,或切片,等等.这背后的原因是什么?它当然感觉非常有限.

或者这只是以后版本中的废弃模块?

python csv

7
推荐指数
1
解决办法
860
查看次数

可能有枚举字符串?

我希望有一个枚举,如:

enum FilterType
{
   Rigid = "Rigid",
   SoftGlow = "Soft / Glow",
   Ghost = "Ghost",
}
Run Code Online (Sandbox Code Playgroud)

怎么做到这一点?有一个更好的方法吗?它将被用于一个对象的实例,它将被序列化/反序列化.它也会填充下拉列表.

.net c# enums

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

IEnumerable/IEnumerable <T>接口只有MoveNext的原因是什么?

基本上我想知道为什么MS决定实现一个只支持前进的枚举器:MoveNext().

MovePrevious在整个.NET框架中强制执行这个广泛使用的界面是不是更灵活?

我可以想象它使Linq.ReverseMS更容易实现并且性能更高效,但我不确定这是否会使其他事情变得更慢或者在其他任何事情上都会产生巨大的开销.

任何对此主题有更多了解的人都可以提供更多信息吗?即,优点和具有或不具有的缺点MovePreviousIEnumerable/IEnumerable<T>.

.net c# ienumerable base-class-library

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

如何将分层数据绑定到WPF TreeView?

类型如下:

class Category
{
    public string Name;
    public string Message;

    public ObservableCollection<Category> SubCategories;
}
Run Code Online (Sandbox Code Playgroud)

它会说5个类别,其中每个类别包含0(无)到3之间的子类别.

我知道如何将非分层数据绑定到WPF TreeView,但无法弄清楚分层数据值.

.net c# data-binding wpf

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

7
推荐指数
1
解决办法
8766
查看次数