小编Ond*_*cek的帖子

获取实现接口的所有类型

使用反射,如何使用最少的代码获得使用C#3.0/.NET 3.5实现接口的所有类型,并最大限度地减少迭代?

这就是我想要重写的内容:

foreach (Type t in this.GetType().Assembly.GetTypes())
    if (t is IMyInterface)
        ; //do stuff
Run Code Online (Sandbox Code Playgroud)

c# reflection optimization lambda c#-3.0

524
推荐指数
11
解决办法
24万
查看次数

什么.NET集合提供最快的搜索

我有60k项需要根据20k查找列表进行检查.是否有一个集合对象(如List,HashTable)提供了一个异常快速的Contains()方法?或者我必须自己写吗?换句话说,默认Contains()方法是扫描每个项目还是使用更好的搜索算法.

foreach (Record item in LargeCollection)
{
    if (LookupCollection.Contains(item.Key))
    {
       // Do something
    }
}
Run Code Online (Sandbox Code Playgroud)

注意.查找列表已经排序.

.net c# collections search

136
推荐指数
5
解决办法
12万
查看次数

什么是线程退出代码?

调试时,"输出"窗口中的线程退出代码究竟是什么?它给了我什么信息?它在某种程度上是有用的还是只是一个不应该打扰我的内部东西?

The thread 0x552c has exited with code 259 (0x103).
The thread 0x4440 has exited with code 0 (0x0).
Run Code Online (Sandbox Code Playgroud)

可能有某种可能的退出代码列表及其重要性吗?

c# debugging multithreading exit-code

112
推荐指数
2
解决办法
12万
查看次数

WPF中的MVVM - 如何提醒ViewModel模型中的更改...还是应该?

我正在阅读一些MVVM文章,主要是这个这个.

我的具体问题是:如何将模型更改从模型传递到ViewModel?

在Josh的文章中,我没有看到他这样做.ViewModel始终向Model询问属性.在Rachel的例子中,她确实拥有模型实现INotifyPropertyChanged,并从模型中引发事件,但它们是供视图本身使用的(有关她为什么这样做的详细信息,请参阅她的文章/代码).

我在任何地方都看不到模型警告ViewModel模型属性更改的示例.这让我担心,也许是因为某些原因没有做到的. 是否有一种模式用于警告ViewModel模型中的更改? 这似乎是必要的,因为(1)可以想象每个模型有超过1个ViewModel,(2)即使只有一个ViewModel,模型上的某些操作可能会导致其他属性被更改.

我怀疑可能会有"你为什么要这样做?"的答案/评论.评论,所以这里是我的程序的描述.我是MVVM的新手,所以也许我的整个设计都有问题.我将简要介绍一下.

我编写的东西比"客户"或"产品"类更有趣(至少对我而言!).我在编程BlackJack.

我有一个View,后面没有任何代码,只依赖于绑定到ViewModel中的属性和命令(参见Josh Smith的文章).

是好还是坏,我把该模型应该不仅包含类,如态度PlayingCard,Deck但也BlackJackGame认为保持整场比赛的状态,并且知道当玩家已经破产,经销商必须抓牌,阶级和玩家和经销商当前得分是多少(少于21,21,胸围等).

BlackJackGame我公开像"DrawCard"这样的方法,我发现在绘制卡片时CardScore,IsBust应该更新属性,例如和,并将这些新值传递给ViewModel.也许这是错误的思考?

人们可以采取ViewModel称之为DrawCard()方法的态度,因此他应该知道要求更新的分数并找出他是否破产.意见?

在我的ViewModel中,我有逻辑来获取扑克牌的实际图像(基于套装,等级)并使其可用于视图.该模型不应该与此有关(也许其他ViewModel只使用数字而不是扑克牌图像).当然,也许有些人会告诉我模型甚至不应该有BlackJack游戏的概念,而应该在ViewModel中处理?

.net c# wpf mvvm

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

如何浏览几个文件夹?

一种选择是做几次System.IO.Directory.GetParent().是否有更优雅的方式从执行程序集所在的位置移动几个文件夹?

我想要做的是找到一个文本文件,它位于应用程序文件夹上方的一个文件夹中.但是程序集本身位于bin中,这是应用程序文件夹中的几个文件夹.

.net c# console-application

100
推荐指数
8
解决办法
11万
查看次数

更改SqlConnection超时

我试图覆盖SqlConnection15秒的默认超时,并得到一个错误说

无法分配属性或索引器,因为它是只读的.

有没有解决的办法?

using (SqlConnection connection = new SqlConnection(Database.EstimatorConnection))
{
   connection.Open();

   using (SqlCommand command = connection.CreateCommand())
   {
       command.CommandType = CommandType.StoredProcedure;
       connection.ConnectionTimeout = 180; // This is not working 
       command.CommandText = "sproc_StoreData";
       command.Parameters.AddWithValue("@TaskPlanID", order.Projects[0].TaskPlanID);
       command.Parameters.AddWithValue("@AsOfDate", order.IncurDate);

       command.ExecuteNonQuery();
    }
}
Run Code Online (Sandbox Code Playgroud)

.net c# sql-server sqlconnection

72
推荐指数
8
解决办法
13万
查看次数

如何检查对象的所有属性是null还是空?

我有一个对象让我们调用它 ObjectA

并且该对象有10个属性,这些属性都是字符串.

 var myObject = new {Property1="",Property2="",Property3="",Property4="",...}
Run Code Online (Sandbox Code Playgroud)

无论如何要检查所有这些属性是空还是空?

那么任何返回true或false的内置方法呢?

如果它们中的任何一个不为null或为空,则返回将为false.如果所有这些都是空的,它应该返回true.

我的想法是,我不想编写10 if语句来控制这些属性是空还是null.

谢谢

c# properties

60
推荐指数
5
解决办法
7万
查看次数

结构体可以包含引用类型的字段

结构体是否包含引用类型的字段?如果可以,这是一个不好的做法?

c# struct reference-type

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

使用对象初始化器有什么好处吗?

使用C#对象初始化器有什么好处吗?

在C++中没有引用,并且所有内容都封装在对象中,因此在创建对象后使用它们而不是初始化成员是有意义的.

它们在C#中使用的情况如何?

如何:使用对象初始化程序初始化对象(C#编程指南)

.net c# memory-management

53
推荐指数
3
解决办法
2万
查看次数

如何大写名字

所以基本上如果我想改变一个名字

stephen smith 
Run Code Online (Sandbox Code Playgroud)

Stephen Smith
Run Code Online (Sandbox Code Playgroud)

我可以轻松地使用来自页面上的css,但理想情况下我想早点抓住它并在数据库出来时更改它.如何让csharp将字符串封顶.

有这个功能吗?

.net c#

50
推荐指数
3
解决办法
5万
查看次数