小编Gur*_*epS的帖子

什么是上下文切换?

我正在阅读有关debuggerstepperboundary属性的内容,并且网站表示它在上下文切换中很有用.

什么是上下文切换?我假设它是从一个线程切换到另一个线程,或者在执行或安全上下文中?但是,这些都不是特别受过教育的猜测,所以我在这里问.

multithreading operating-system

16
推荐指数
2
解决办法
9029
查看次数

哪种类型的例外没有捕获?

很多时候,提到只捕获我可以处理的异常(抛出,包装和/或记录,或执行一些其他操作).

哪些例外无法处理?这是不应该被抓住的意思吗?我知道不应该捕获可能表示对象引用为null的异常,因为它们是编程错误而不是用户激发的.还有其他例子吗?另一个是ExecutionEngineException.

此外,catch块中的操作过程总是在rethrow,wrap/rethrow和log之间吗?是否有需要在catch块中执行某些其他操作的情况?

谢谢

.net c# exception-handling exception

16
推荐指数
2
解决办法
1828
查看次数

使用statement和try-catch() - 最后重复?

using(...)语句是try {} finally {}的语法糖.

但是,如果我有一个如下所示的使用声明:

using (FileStream fs = File.Open(path))
{


}
Run Code Online (Sandbox Code Playgroud)

现在我想要捕获打开此文件可能导致的异常(这是相当高风险的代码,因为它可能因环境而失败),但是如果我在里面写try-catch会不会重复?当代码被编译为IL时,我假设当代码被JIT时,重复将被删除?

但是,我想要捕获打开文件可能导致的异常(所以我应该将try-catch包装在using语句的作用域之外),以及我在using块中做的任何异常,所以我应该添加try-catch在街区内.

这似乎是我在CLR可能在里面做了很多重复.CLR是否添加了catch子句?

我的同事认为使用声明是混乱的(但这是因为由于我需要对它们进行硬编码,所以单行很长,因为我需要非常快速地更改它们并且无法访问代码库的其他部分).说同事不使用using语句,但是using语句和try-finally/try-catch-finally之间是否存在任何功能差异?我确实看到了一个这样的案例,其中WCF服务有一个关于使用finally和返回值的一个鲜为人知的角落案例(最后的事情).解决方案是使用检查块.在C#中有这样的东西吗?

另一方面,是否所有类型都实现了非托管资源的IDisposale所有者?与我的朋友的讨论指出了不是的答案.(我也在本论坛的使用部分阅读了一些主题,其中有一些非常好的知识).

c# using try-catch-finally

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

编辑sln,proj,suo文件的最佳实践?

在.NET中,每个解决方案/项目都有SUO,SLN,Proj文件.虽然我知道这些文件是什么,但手动编辑是否明智?他们甚至需要编辑吗?如果是这样,最好的方法是什么?

谢谢

.net visual-studio

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

何时以及如何使用延续传递方式

我一直在阅读有关继续传递样式编程技术(C#3.0实现)的内容.

为何/何时使用此技术会有用?

如何实现这一点以获得那些真正的长链?这与currying相同(这会在google中产生更好的搜索结果)吗?

谢谢

c#

14
推荐指数
2
解决办法
6489
查看次数

接口如何使单元测试和模拟更容易?

人们常说接口使得模拟和单元测试变得更容易.接口如何帮助解决这个问题?

unit-testing mocking

14
推荐指数
2
解决办法
8440
查看次数

如何正确锁定值类型?

我正在阅读有关线程和锁定的内容.通常的做法是你不能(不应该)锁定值类型.

所以问题是,锁定值类型的推荐方法是什么?我知道有几种方法可以做一件事,但我还没有看到一个例子.虽然在MSDN论坛上有一个很好的主题,但我现在似乎无法找到它.

谢谢

c# locking

13
推荐指数
2
解决办法
5027
查看次数

动态SQL(将表名作为参数传递)

我想编写一个存储过程,它将使用一个参数,它将是表名.

例如:

@tablename << Parameter

SELECT * FROM @tablename
Run Code Online (Sandbox Code Playgroud)

这怎么可能?

我写了这个:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[GetAllInterviewQuestions]
@Alias varchar = null
AS
BEGIN
Exec('Select * FROM Table as ' @Alias) 
END
Run Code Online (Sandbox Code Playgroud)

但它说@Alias附近的语法不正确.

t-sql sql-server

13
推荐指数
1
解决办法
4万
查看次数

EF4可以支持批量更新吗?

Entity Framework v4是否支持批量更新/插入,而不是将> 1命令发送到db,它可以一次性向DB发送> 1命令?

谢谢

entity-framework entity-framework-4

13
推荐指数
1
解决办法
5707
查看次数

查找已设置变量的所有位置?

通常在使用VS2010 Ultimate进行开发时,我想检查一个值在代码库中的位置(所以这是一个赋值).

有没有办法,使用VS2010 Ultimate或第三方调试工具,能够获得已设置或获得变量的代码库中的所有位置?

debugging visual-studio-2010 visual-studio

13
推荐指数
4
解决办法
4731
查看次数