相关疑难解决方法(0)

C#的隐藏功能?

在我从这个问题中学到以下内容后,我想到了这一点:

where T : struct
Run Code Online (Sandbox Code Playgroud)

我们C#开发人员都知道C#的基础知识.我的意思是声明,条件,循环,运算符等.

我们中的一些人甚至掌握了Generics,匿名类型,lambdas,LINQ等......

但是C#粉丝,瘾君子,专家几乎都不知道C#最隐藏的功能或技巧是什么?

以下是到目前为止显示的功能:


关键词

属性

c# hidden-features

1475
推荐指数
230
解决办法
68万
查看次数

.NET的Visual Studio调试器提示和技巧

我已经和VS的调试器一起工作多年了,但我偶尔会遇到一个我以前从未注意过的功能,并且想想"该死的!我怎么能错过它?它非常有用!"

[免责声明:这些提示适用于VS 2005中的C#项目,不保证VS或其他语言的旧版本]

跟踪对象实例

使用给定类的多个实例?你怎么能分开他们?在垃圾收集前编程时,很容易跟踪引用 - 只需查看内存地址即可.使用.NET,你不能这样做 - 对象可以移动.幸运的是,通过手表视图,您可以右键单击手表并选择"创建对象ID".

手表查看http://img403.imageshack.us/img403/461/52518188cq3.jpg

这会在实例的值之后附加{1#},{2#}等,从而有效地为实例提供唯一标签.它看起来像这样:

编号实例http://img383.imageshack.us/img383/7351/11732685bl8.jpg

标签在该对象的生命周期内保持不变.

观察变量的有意义值

默认情况下,监视变量的值是它的类型.如果你想看到它的字段,你必须扩展它,如果有很多字段或它们做了一些复杂的事情,这可能需要很长时间(甚至超时!).

但是,某些预定义类型显示更有意义的信息:

  • 字符串显示其实际内容
  • 列表和词典显示其元素数等.

有意义的信息http://img205.imageshack.us/img205/4808/37220487md1.jpg

拥有我自己的类型不是很好吗?

嗯...

...使用.NET Reflector的一些高质量时间显示了使用DebuggerDisplay我的自定义类型上的属性可以轻松实现这一点:

[System.Diagnostics.DebuggerDisplay("Employee: '{Name}'")]
public class Employee {
    public string Name { get { ... } }
    ...
}
Run Code Online (Sandbox Code Playgroud)

......重新运行,......

ta da!http://img60.imageshack.us/img60/926/79816018ha1.jpg

这里有关于这个主题的更多信息:MSDN

打破所有例外

......甚至是代码处理的!我知道,自从我出生以来,我就是一个不知道这一点的人,但无论如何它都在这里 - 也许有一天这会对某人有所帮助:

每次抛出异常时,您都可以强制调试进程进入调试模式.曾经花了几个小时寻找一个只是为了遇到这样的代码吗?

try {
    runStrangeContraption();
} catch(Exception ex) {
    /* TODO: Will handle this error later */
}
Run Code Online (Sandbox Code Playgroud)

在这些情况下捕获所有异常非常方便.这可以从Debug> Exceptions ...(Ctrl-Alt-E)启用.勾选"Thrown"列中的框,了解您需要的每种类型的例外情况.


那对我来说是一些前额拍打的时刻.你愿意分享你的吗?

.net debugging hidden-features visual-studio

70
推荐指数
7
解决办法
8854
查看次数

什么是最有价值的.Net Compact Framework提示,技巧和想法 - 避免者?

我们在.Net Compact Framework和Windows Mobile中广泛开展工作.我已经看到很多关于ASP.Net应用程序或其他.Net桌面应用程序开发细节的问题,但没有特定的CF.

移动开发人员在那里可以分享一些事情来开始做,停止做,并避免在Compact Framework中进行开发吗?

.net compact-framework windows-mobile

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

知道任何C#语法高亮技巧吗?

我通常喜欢使用黑色背景和白色/彩色文本进行编码,但我从未花时间在Visual Studio中更改语法突出显示.

昨天,当我终于解决它时,我的一个更改是将用户类型和用户类型(值类型)更改为不同的颜色.没有意识到,我一直在使用结构类型来传递和返回方法中的数据,而不是我想要的.

语法高亮的这种变化使得它非常明显地发生了什么.所以它让我想知道是否有其他设置可以提供类似的帮助.

我通常还会将我的文档和注释颜色设置为更加褪色和被动的颜色,这样实际代码就会更多地向您跳跃并快速浏览代码.

你有其他任何这样的提示可以帮助发现问题或使事情更具可读性吗?

注意:(我看过这篇文章,但我正在寻找更多功能性提示并提供帮助而非纯粹的化妆品偏好.)

c# syntax-highlighting visual-studio

24
推荐指数
5
解决办法
5258
查看次数

构建ASP.NET应用程序 - 最佳实践

我们正在构建一个ASP.NET应用程序,并希望遵循最佳实践.一些最佳实践是:


服务器端代码:

  • 使用catch块来捕获和记录低级错误.
  • 使用Cache对象填充下拉列表等,我们不希望在底层数据/数据库中进行更改.
  • 如果出现错误记录框架,请提供电子邮件警报以及记录错误.

HTML代码: - 不要编写内联CSS. - 将JavaScript代码(如果页面需要)放在页面末尾,除非页面需要加载时间操作.


现在谈到这一点,如果您已经有完整的清单,请分享这些最佳实践点吗?

asp.net

18
推荐指数
4
解决办法
8566
查看次数