小编The*_*edi的帖子

实现C#通用超时

我正在寻找实现通用方法的好主意,让一行(或匿名委托)代码执行超时.

TemperamentalClass tc = new TemperamentalClass();
tc.DoSomething();  // normally runs in 30 sec.  Want to error at 1 min
Run Code Online (Sandbox Code Playgroud)

我正在寻找一个可以在我的代码与气质代码交互的许多地方(我无法改变)优雅地实现的解决方案.

另外,如果可能的话,我想让违规的"超时"代码停止执行.

c# multithreading asynchronous timeout c#-3.0

157
推荐指数
6
解决办法
7万
查看次数

是否有一个IDictionary实现,在缺少键时,返回默认值而不是抛出?

如果缺少键,则Index into Dictionary会引发异常.是否有IDictionary的实现,而是返回默认值(T)?

我知道"TryGetValue"方法,但这不可能与linq一起使用.

这会有效地做我需要的吗?:

myDict.FirstOrDefault(a => a.Key == someKeyKalue);
Run Code Online (Sandbox Code Playgroud)

我认为它不会,因为我认为它将迭代键而不是使用哈希查找.

.net c# hash dictionary

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

Visual Studio热键偶尔会更改,特别是F6与Ctrl-Shift-B进行构建.为什么?

我总是按F6下来建立我的项目.突然间,我的一些Visual Studio实例希望我使用Ctrl- Shift- B.它与键盘无关 - 菜单选项的实际文本从" F6"变为" Ctrl- Shift- B".

关于如何解决的任何答案,以及是什么原因引起的

c# visual-studio-2008

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

哪个更快,哈希查找或二进制搜索?

当给定一组静态对象(在某种意义上是静态的,一旦加载它很少会发生变化),需要重复的并发查找以及最佳性能,哪个更好,一个HashMap或一个二进制搜索使用一些自定义比较器的数组?

答案是对象或结构类型的函数吗?哈希和/或平等功能表现?哈希的独特性?清单大小? Hashset尺寸/尺寸?

我正在看的集合的大小可以是500k到10m之间的任何地方 - 这些信息很有用.

虽然我正在寻找一个C#答案,但我认为真正的数学答案不在于语言,所以我不包括那个标签.但是,如果需要注意C#特定的事情,那么需要该信息.

algorithm lookup hash hashmap binary-search

64
推荐指数
8
解决办法
5万
查看次数

ClickOnce错误:值不在预期范围内

在针对特定用户的所有ClickOnce应用程序启动时出现此错误.这在版本升级后开始发生(但不会发生在其他人身上).

我已经尝试过随后更改版本号,添加/删除,注册表清理,清除Local Settings\Apps文件夹等...仍然没有运气.

本文指向用户配置文件损坏,但我重新创建此用户不是一个选项.有没有其他想法清理这个?

 PLATFORM VERSION INFO
    Windows             : 5.1.2600.196608 (Win32NT)
    Common Language Runtime     : 2.0.50727.3082
    System.Deployment.dll       : 2.0.50727.3053 (netfxsp.050727-3000)
    mscorwks.dll            : 2.0.50727.3082 (QFE.050727-3000)
    dfdll.dll           : 2.0.50727.3053 (netfxsp.050727-3000)
    dfshim.dll          : 2.0.50727.3053 (netfxsp.050727-3000)

SOURCES
    Deployment url          : file:///C:/Documents%20and%20Settings/<username>/Start%20Menu/Programs/<programname>/<programname>.appref-ms%7C

ERROR SUMMARY
    Below is a summary of the errors, details of these errors are listed later in the log.
    * Activation of \\NDP13\C\Documents and Settings\<username>\Start Menu\Programs\<programname>\<programname>.appref-ms| resulted in exception. Following failure messages were detected:
        + Value does not fall within the expected …
Run Code Online (Sandbox Code Playgroud)

.net clickonce

55
推荐指数
6
解决办法
5万
查看次数

MIME编码,引用可打印文本中的"= C2 = A0"是什么?

这是我尝试解析的示例原始电子邮件:

MIME-version: 1.0
Content-type: text/html; charset=UTF-8
Content-transfer-encoding: quoted-printable
X-Mailer: Verizon Webmail
X-Originating-IP: [x.x.x.x]

=C2=A0test testing testing 123
Run Code Online (Sandbox Code Playgroud)

什么是= C2 = A0?我尝试过半打引号可解析的解析器,但没有一个正确处理. 如何在C#中正确解析它?

老实说,现在,我正在编码:

//TODO WTF
encoded = encoded.Replace("=C2=A0", "");
Run Code Online (Sandbox Code Playgroud)

因为我无法弄清楚为什么该文本在MIME内容中随机存在,并且不应该被渲染成任何东西.通过删除它,我得到了预期的效果 - 但为什么?!

要清楚,我知道(= [0-9A-F] {2})是一个编码字符.但在这种情况下,它似乎代表什么都没有.

encoding mime quoted-printable

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

如何解决这个问题,以便将通用转换为Nullable <T>?

我目前使用这个方便的转换扩展方法来进行类型之间的转换:

    public static T To<T>(this IConvertible obj)
    {
        return (T)Convert.ChangeType(obj, typeof(T));
    }
Run Code Online (Sandbox Code Playgroud)

但是,它不喜欢将有效值转换为Nullable,例如,这会失败:

    "1".To<int?>();
Run Code Online (Sandbox Code Playgroud)

显然,1很容易转换为(int?),但它得到错误:

    Invalid cast from 'System.String' to 'System.Nullable`1[[System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]'.
Run Code Online (Sandbox Code Playgroud)

这是一个明显简化的例子,实际上我用它来做字符串类型的转换,如下所示:

packageDb.Quantity = package.package.ElementDeep(Namespace + "PackageQuantity", Namespace + "ActualQuantity", Namespace + "Quantity").ValueOrNull().To<int?>();
Run Code Online (Sandbox Code Playgroud)

如果Convert.ChangeType不喜欢Nullable,那么任何人都有什么好主意吗?

c# nullable

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

如何在C#表达式树中设置字段值?

鉴于:

FieldInfo field = <some valid string field on type T>;
ParameterExpression targetExp = Expression.Parameter(typeof(T), "target");
ParameterExpression valueExp = Expression.Parameter(typeof(string), "value");
Run Code Online (Sandbox Code Playgroud)

如何编译lambda表达式以将"target"参数上的字段设置为"value"?

c# lambda expression-trees

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

在app.config中使用XML包含或配置引用以包含其他配置文件的设置

我有标准的日志记录,NHibernate等配置块,我app.config想将它们提取到一个通用的XML文件中,可以作为我所有应用程序app.config文件的参考.

这可能吗?

.net c# configuration app-config

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

如何在SQL Server 2005表的NTEXT字段中找到Unicode /非ASCII字符?

我有一个有几千行的表.描述和摘要字段是NTEXT,有时其中包含非ASCII字符.如何找到所有非ASCII字符的行?

sql sql-server sql-server-2005

34
推荐指数
3
解决办法
6万
查看次数