草庐IT

config-if

全部标签

C# if 语句速记运算符 (?:) results in unreachable code

为什么我在使用VisualStudio2010的C#中收到此警告?"Unreachableexpressioncodedetected"来自以下代码(DateTime.Now以绿色波浪线下划线):publicDateTimeStartDate{get{DateTimedt=(DateTime)ViewState["StartDate"];return((dt==null)?DateTime.Now:dt);}} 最佳答案 因为DateTime结构永远不能为null。如果您期望可能的空值,则必须使用可为空的DateTime结构。您也可

c# - 太多 if (obj is thisObj) 语句

我目前有一种方法试图找出它收到的对象是什么。它知道在某个接口(interface)上,例如IService,但我有代码查看它并试图告诉我它是Service1还是Service2。我目前有很多if(objisthisObj)样式语句,什么是使这段代码漂亮的最佳解决方案?这是我所拥有的示例:publicvoidDoSomething(IServiceservice){if(serviceisService1){//DOsomething}if(serviceisService2){//DOsomethingelse}}现在有两个并不是什么坏事,但我正在考虑可能有20多个这样的东西,使用起来

C# if 语句。内部运作 Q

我刚刚在某些Exchange2010代码中看到了这个代码片段,我想知道是否有人知道为什么程序员会这样做。我从未见过这样格式的If语句。看起来如此倒退,一定有充分的理由吧??if(true==MsgItem.HasAttachments){//Code}我假设它可能对同一事物的各种其他编码方式进行了一些优化;if(MsgItem.HasAttachments){//Code}或if(MsgItem.HasAttachments==true){//Code}这没什么大不了的,我只是好奇。谢谢,迈克更新:感谢您提出的所有有趣的观点。总结似乎是因为遗留编码标准。 最

c# - 在 Mono 和 .NET 之间拆分的编译器 #if 指令

这个问题在这里已经有了答案:HowcanIconditionallycompilemyC#forMonovs.Microsoft.NET?(2个答案)关闭9年前。我需要为Mac上的Mono和PC上的.NET双重编译一个类库。我想做一些小改动,但我希望使用编译器指令拆分代码。有什么建议吗?

c# - 从 app.config 获取 ConnectionString

我很确定这段代码中存在一些快速简单的错误,但不知何故我花了最后2个小时解决这个问题。App.config:Class.cs:stringconnectionString=getNewConnection();using(SqlConnectionconn=newSqlConnection(connectionString)){code}方法。publicstaticstringgetNewConnection(){returnConfigurationManager.ConnectionStrings["BO"].ConnectionString;}错误:Objectreference

c# - 谁将 app.config 复制到 app.exe.config?

我正在编写一个游戏开发IDE,用于创建和编译.NET项目(过去几年我一直致力于此项目),并且正在更新它以生成不仅适用于Windows/VisualStudio的输出,但也适用于Linux/MonoDevelop(.NET的一个非常简单的过程,但仍需要一些调整)。作为其中的一部分,我发现有必要开始生成一个app.config文件作为其中的一部分,以将依赖的DLL名称映射到具有元素的Linux依赖项名称。我对谁负责将app.config文件复制到输出名称app.exe.config感到困惑。在VisualStudio项目中,app.config的构建操作似乎通常设置为“无”,其设置表明它不

c# - 将 if(x) Foreach() 替换为 Foreach.Where(x)

可能是个愚蠢的问题,但我有很多:if(X){foreach(varYinmyList.Where(z=>z==1){}}在一些代码中构造将其替换为foreach(varYinmyList.Where(z=>X&&z==1){}疯了吗?它的可读性可能较差,但编译器会优化它以使其成为几乎相同的代码吗? 最佳答案 不,您的第一个版本更好更快。当X为真时,第二个版本将为序列中的每个元素计算X。你应该坚持第一个版本。 关于c#-将if(x)Foreach()替换为Foreach.Where(x),

c# - Web Config.Connection String 中的相对路径引用

是否可以在web.config中的连接字符串、attachDbFileName属性中指定相对路径引用?例如,在我的数据库位于App_data文件夹中,我可以轻松地将AttachDBFilename指定为|DataDirectory|\mydb.mdf和|Datadirectory|将自动解析为正确的路径。现在,假设web.config文件位于A文件夹中,但数据库位于B\App_data文件夹中,其中A和B文件夹位于同一文件夹中。无论如何使用相对路径引用来解析正确的路径? 最佳答案 我在以下场景中遇到了同样的问题:我想使用与集成测试中

c# - Owin 在 web.config 中提供启动类(没有自动启动发现)

我尝试在我的web.config中执行以下操作:如果我理解这个documentation应该禁用正确的自动启动检测。所以我不需要启动属性。不幸的是,OWIN似乎没有启动。(我看到这个是因为我收到错误:HTTPError403.14-Forbidden。我使用Controller来处理对索引文件的请求。)如果我使用并添加启动属性[assembly:OwinStartup(typeof(MyStartupClass))]然后应用程序会按预期启动。所以问题是为什么?我该怎么做才能解决这个问题?我正在使用OWIN3.0.0.0更新:这是我的启动类的样子(包含相关部分的缩小版):usingSys

c# - 从单独的类库访问 web.config?

我正在寻找实现以下目标的好方法:我有一个Web应用程序(MVC3),它有一个单独的类库,其中包含我正在制作的CMS的后端逻辑。此CMS使用NHibernate连接到数据库。我希望用户能够在他们的web.config文件中配置连接字符串(最终甚至是数据库的风格)。我正在寻找的是一种从web.config文件中获取连接字符串的好方法,即使DLL是完全独立的。这可能吗?我是否必须以某种方式将我的连接字符串传递到我的类库?还是我可以在应用程序运行时访问它?如果我必须在我的Web应用程序中创建一些代码以将连接字符串传递到我的类库,我怎样才能使这些代码尽可能可移植,这样我就不必为我的下一个Web应