草庐IT

if判断

全部标签

c# - 当我在 if 子句中放置一个关闭的 div 标签时,Razor 会提示

我正在尝试使用Razor模板来执行此操作:@if(isNew){}...@if(isNew){}错误是:cannotresolvethesymbol'div'Razor不喜欢IF子句中的结束div标记,我怎样才能让它工作?我必须使用转义吗? 最佳答案 Razor不喜欢像这样拆分开始/结束标记,因为它无法正确解析HTML,因此您必须将它们转义为纯文本:@if(isNew){@:}...@if(isNew){@:}更传统的方法是在div中重复标记(使用部分或其他方式)——哪种方法更可取,我想说,取决于条件div之间标记的性质:@if(i

c# - 在 LINQ 查询 'if' 语句中实现条件 'where' 语句

我正在尝试找出一种在我的数据模型中查询对象的方法,并且只包含那些不为空的参数。如下所示:publicListGetWidgets(stringcond1,stringcond2,stringcond3){MyDataContextdb=newMyDataContext();Listwidgets=(fromwindb.Widgetswhere...ifcond1!=nullw.condition1==cond1......ifcond2!=nullw.condition2==cond2......ifcond3!=nullw.condition3==cond3...selectw).T

c# - 替代if,else if

我有很多if,elseif语句,我知道必须有更好的方法来做到这一点,但即使在搜索stackoverflow之后,我也不确定在我的特定情况下该怎么做。我正在解析文本文件(账单)并根据某些字符串是否出现在账单上将服务提供商的名称分配给变量(txtv​​ar.Provider)。这是我正在做的事情的一小部分(别笑,我知道这很乱)。总而言之,大约有300个if,elseif。if(txtvar.BillText.IndexOf("SWGAS.COM")>-1){txtvar.Provider="SouthwestGas";}elseif(txtvar.BillText.IndexOf("geo

c# - 如何判断 Socket 何时断开连接

在客户端,我需要知道我的套接字连接何时/是否已断开。但是,Socket.Connected属性始终返回true,即使在服务器端已断开连接并且我已尝试通过它发送数据之后也是如此。谁能帮我弄清楚这里发生了什么。我需要知道套接字何时断开连接。SocketserverSocket=null;TcpListenerlistener=newTcpListener(1530);listener.Start();listener.BeginAcceptSocket(newAsyncCallback(delegate(IAsyncResultresult){Debug.WriteLine("ACCEPT

c# - 如何判断一个文件是不是exe?

我如何确定传递给我程序的文件是有效的exe文件?实际上我的程序将一个文件作为输入并运行它,但是用户可以输入任何文件所以我必须确保输入是一个有效的exe。 最佳答案 如果您想要比“文件名是否以‘.exe’结尾?”更深入的内容但您不想实际运行该程序,您可以检查PEheader的存在和有效性。此外,检查前2个字节(PE文件的“MZ”)也将为DLL返回true。如果您不想这样,可以尝试这种方法。MattPietrek撰写了几篇描述PE格式的精彩文章:PeeringInsidethePE:ATouroftheWin32PortableExec

C#如何判断是否为HTTPS

如何确定并强制用户仅使用HTTPS查看我的网站?我知道它可以通过IIS完成,但想知道它是如何以编程方式完成的。 最佳答案 你可以这样写一个HttpModule://////Usedtocorrectnon-securerequeststosecureones.///IfthewebsitebackendrequiresofSSLuse,thewholerequests///shouldbesecure.///publicclassSecurityModule:IHttpModule{publicvoidDispose(){}publ

c# - 复选框的 If 语句

我想知道如何编写if语句来查看一个或另一个复选框是否被选中。我有两个复选框。我想让它检查复选框1是否被选中,复选框2是否为空,然后调用此函数,如果复选框2被选中,复选框1是否为空,则调用另一个函数。IF语句非常糟糕,不确定如何将复选框转换为可读值。 最佳答案 我假设您的意思是未检查。我手边没有C#编译器,但是:if(checkbox1.Checked&&!checkbox2.Checked){}elseif(!checkbox1.Checked&&checkbox2.Checked){}

C# 如何判断 DVD 驱动器托盘是否打开?

我有一个用C#编写的DVD读取和刻录应用程序。我希望能够检测空驱动器(无磁盘)和打开的驱动器之间的区别。编辑:经过更多谷歌搜索后,我认为更好的问题描述是“我想访问驱动器托盘状态-打开或关闭”我可以用ManagementObjectSearcher("SELECT*FROMWin32_LogicalDiskWHEREDriveType=5")找到系统中所有的dvd驱动器,属性告诉我驱动器中是否有磁盘。Access属性告诉我是否有空白磁盘。但是当驱动器打开时Access为空,当驱动器关闭且为空时。而且我没有看到任何其他属性在驱动器打开或关闭时发生变化。有人知道区分打开的驱动器和关闭的空驱动

c# - 嵌套的 if 语句混淆了 Razor

我正在尝试设置从数据表中提取的下拉菜单。这适用于第一级菜单。工作代码:@foreach(System.Data.DataRowdrinmenu.Rows){if(Level1!=dr["Level1"].ToString()){@dr["Level1"].ToString()Level1=@dr["Level1"].ToString();}}当我尝试添加嵌套的if语句时出现问题。如果将此代码放入VisualStudio,您会注意到Razor无法识别@foreach循环的右括号。代码中断:@foreach(System.Data.DataRowdrinmenu.Rows){if(Leve

c# - 判断资源是否存在于 ResourceManager 中

有没有办法确定ResourceManager是否包含命名资源?目前我正在捕获MissingManifestResourceException,但我讨厌在非异常情况下必须使用异常。必须有某种方法可以通过反射或其他方式枚举ResourceManager的名称值对吗?编辑:更多细节。资源不在执行程序集中,但是ResourceManager工作正常。如果我尝试_resourceMan.GetResourceSet(_defaultCuture,false,true)我得到null,而如果我尝试_resourceMan.GetString("StringExists")我得到一个字符串。