我想返回一个接口(interface),在switch语句中我想设置它。这是一个糟糕的设计吗?privateIResultEntityGetEntity(char?someType){IResultEntityentity=null;switch(someType){case'L'://lifeentity=newLifeEntity();break;case'P'://propertyentity=newPropertyEntity();break;case'D'://disabilityentity=newDisabilityEntity();break;case'C'://cre
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。如果此文本框的总计为:PostDiscountTextBox.Text=$500.00,我们如何制作Switch语句来声明如果折扣后成本金额介于0.00和999.99之间,则显示一个消息框,其中包含“此金额符合条件”的消息“A-100”飞行常客里程”和“确定”按钮?有人会提供switch语句的示例吗?到目前为止我只有这个,我认为它根本没有遵循任何东西。有人
看来我需要在使用C#的switch语句中的每个caseblock中使用break。我可以在其他语言中看到这样做的原因,您可以在其中找到下一个case语句。caseblock是否有可能掉落到其他caseblock?非常感谢,非常感谢! 最佳答案 是的,您可以通过两种方式进入下一个案例block。您可以使用不需要中断的空案例,或者您可以使用goto跳转到下一个(或任何)案例:switch(n){case1:case2:case3:Console.WriteLine("1,2or3");gotocase4;case4:Console.Wr
我很好奇为什么这段代码...enumTile{Empty,White,Black};privatestringTileToString(Tilet){switch(t){caseTile.Empty:return".";caseTile.White:return"W";caseTile.Black:return"B";}}抛出该错误。t不可能取任何其他值,是吗?编译器不应该足够聪明来解决这个问题吗? 最佳答案 不,您可以使用任何转换为Tile的int值。试试这个:Tilet=(Tile)5;strings=TileToStrin
如本例所示:switch(myObj.GetType()){casetypeof(MyObject):Console.WriteLine("MyObjectishere");break;} 最佳答案 其次是PeterHallam的帖子;这是一个很好的解释。不过,您可以使用TypeCode处理简单类型。switch(Type.GetTypeCode(myObj.GetType())){caseTypeCode.Boolean:...caseTypeCode.Char:...caseTypeCode.String:...caseType
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:DynamicLINQOrderByswitch(sort){case"Title":queryResults=queryResults.OrderBy(r=>r.Title);break;default:queryResults=queryResults.OrderBy(r=>r.LastName);break;有什么办法可以摆脱上面的开关block吗?我可以做一些事情吗:queryResults=queryResults.OrderBy(r=>r."sort");orqueryResults=queryR
我正在处理一个Switch语句,并且有两个条件我需要查看值是否以特定值开头。Switch语句就是这样做的。错误显示“无法将类型bool转换为字符串”。有人知道我是否可以在Switch中使用StartsWith或者我是否需要使用If...Else语句?switch(subArea){case"4100":case"4101":case"4102":case"4200":return"ABC";case"600A":return"XWZ";casesubArea.StartsWith("3*"):casesubArea.StartsWith("03*"):return"123";defau
CREATETABLE[MyNames]([ID]INTIDENTITYPRIMARYKEY,[Name]NVARCHAR(255)NULL)INSERTINTO[MyNames]VALUES('John')INSERTINTO[MyNames]VALUES('Jane')INSERTINTO[MyNames]VALUES('Peter')INSERTINTO[MyNames]VALUES('Montgomery')INSERTINTO[MyNames]VALUES('Sarah')基于上述(假设的)SQL架构和数据,我想使用LinqtoSQL获取名称在数组值中的所有结果。string
在C#中,是否可以通过switch表达式设置变量?例如:vara=switch(b){casec:d;casee:f;default:g;};是否可以使用任何其他语言? 最佳答案 从C#8开始:是的,switch表达式是在C#8中引入的。在语法方面,示例如下:vara=bswitch{c=>d,e=>f,_=>g};...其中c和e必须是有效的模式才能与b匹配。_代表默认大小写。C#8之前:不,switch是一个语句而不是一个可以计算的表达式。当然也可以提取到另外一个方法中:intx=DoSwitch(y);...privatein
我正在使用switch/case语句来处理已部署应用程序的一些更新。基本上,我想通过案例瀑布来执行从当前运行版本到最新版本的更新。从对我大喊大叫的VisualStudio中,我了解到C#不允许进入下一个案例(这正是我想要做的)。来自thisquestion,我学会了如何做我想做的事。但是,这显然仍然是一个错误。我得到的是switch(myCurrentVersion){casenull:case"":case"0":UpdateToV1();gotocase"1";case"1":UpdateToV2();}我在case"1":行收到以下错误:Error1Controlcannotfa