草庐IT

lower_case_with_underscores

全部标签

c# - 有没有办法让我的 switch/case 进入 C# 中的下一个 case?

我正在使用switch/case语句来处理已部署应用程序的一些更新。基本上,我想通过案例瀑布来执行从当前运行版本到最新版本的更新。从对我大喊大叫的VisualStudio中,我了解到C#不允许进入下一个案例(这正是我想要做的)。来自thisquestion,我学会了如何做我想做的事。但是,这显然仍然是一个错误。我得到的是switch(myCurrentVersion){casenull:case"":case"0":UpdateToV1();gotocase"1";case"1":UpdateToV2();}我在case"1":行收到以下错误:Error1Controlcannotfa

c# - "An assembly with the same simple name has already been imported"没有重复引用的错误

我收到以下错误:errorCS1704:Anassemblywiththesamesimplename'Interop.xxx.dll,Version=1.0.0.0,Culture=neutral,PublicKeyToken=nullhasalreadybeenimported.Tryremovingoneofthereferencesorsignthemtoenableside-by-side.我所看到的一切都表明我引用了两个同名的程序集,我需要删除其中一个。但是,我已经检查过并且只引用了一次。这也仅在我使用msbuild从我的开发箱上的命令行构建时发生。如果我通过VisualS

c# - 简易喷油器 : Registering a type with constructor argument that's based on its parent

我目前正在从我的项目中删除Ninject,并转而使用SimpleInjector,但有一件事我无法正常工作。对于我的日志记录,在注册服务时,我以前能够将参数传递到我的日志记录类中_kernel.Bind().To().WithConstructorArgument("name",x=>x.Request.ParentContext.Request.Service.FullName);我正在寻找一种在SimpleInjector中重新创建它的方法。到目前为止,除了这个,我还有其他所有工作。通过执行以下操作,我可以使日志记录正常工作,尽管没有显示正确的记录器名称:_container.Re

c# - 使用 LINQ 创建字典并避免 "item with the same key has already been added"错误

我想在字典中找到一个键,如果找到则替换值,如果找不到则添加键/值。代码:publicclassMyObject{publicstringUniqueKey{get;set;}publicstringField1{get;set;}publicstringField2{get;set;}}LINQ解决方案(抛出已添加具有相同键的项目。):DictionaryobjectDict=csvEntries.ToDictionary(csvEntry=>csvEntry.ToMyObject().UniqueKey,csvEntry=>csvEntry.ToMyObject());ForEach

c# - 带有 Attach() 的 LINQ To SQL 异常 : Cannot add an entity with a key that is already in use

考虑这个典型的断开连接的场景:使用LINQToSQL从SQLServer加载客户对象用户编辑实体,表示层发回修改后的实体。数据层,使用L2S,必须将更改发送到SQLServer考虑这个LINQToSQL查询,其目的是获取客户实体。CustcustOrig=db.Custs.SingleOrDefault(o=>o.ID==c.ID);//gettheoriginaldb.Custs.Attach(c,custOrig);//wedon'thaveaTimeStamp=Truepropertydb.SubmitChanges();DuplicateKeyException:Cannota

c# - WPF 最佳实践 : Do custom controls work well with the MVVM design?

我正在考虑创建一个可以在我的页面上重复使用的通用控件:一个具有Address1、Address2、City、State、Zip等的AddressControl...最初我只是创建了一个包含所有这些项目的类(AddressEntity)并实现了INotifyPropertyChanged。我将该类作为DependencyProperty包含在我的AddressControl的代码隐藏中,并将其用作绑定(bind)到其属性的DataContext。然后,有人说我的代码很丑,我应该看看MVVM。看着它,我假设:AddressEntity.cs将只是数据(即Address1、Address2等

c# - 如何使用 C# 将 PascalCase 转换为 kebab-case?

如何使用C#将PascalCase(也称为UpperCamelCase)中的字符串值转换为kebab-case?例如"VeryLongName"到"very-long-name" 最佳答案 下面是如何使用正则表达式来做到这一点:publicstaticclassStringExtensions{publicstaticstringPascalToKebabCase(thisstringvalue){if(string.IsNullOrEmpty(value))returnvalue;returnRegex.Replace(value

c# - Entity Framework : The context is being used in Code First mode with code that was generated from an EDMX file

我正在使用EF6数据库优先方法开发一个WPF应用程序,我的解决方案中有一个项目,如果我运行我的项目,这个错误总是出现。上下文在代码优先模式下使用,代码是从数据库优先或模型优先开发的EDMX文件生成的。这将无法正常工作。要解决此问题,请不要删除引发此异常的代码行。如果您希望使用数据库优先或模型优先,请确保EntityFramework连接字符串包含在启动项目的app.config或web.config中。如果您要创建自己的DbConnection,请确保它是一个EntityConnection而不是其他类型的DbConnection,并且您将它传递给采用DbConnection的基本Db

c# switch 语句比 vb.net 'case' 更受限制

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。我正在阅读一篇有趣的文章here它提出了一个关于vb.net中的“case”语句与C#中的“switch”语句的有趣观点,我已将其粘贴在下面:以下VisualBasicSelectCase语句无法在C#中用单个switch语句表示:DimConditionAsInteger=55SelectCaseConditionCase1,3To5,10,12,14

c# - "Possible multiple enumeration of IEnumerable"与 "Parameter can be declared with base type"

在Resharper5中,以下代码导致list出现警告“Parametercanbedeclaredwithbasetype”:publicvoidDoSomething(Listlist){if(list.Any()){//...}foreach(variteminlist){//...}}在Resharper6中,情况并非如此。但是,如果我将方法更改为以下内容,我仍然会收到该警告:publicvoidDoSomething(Listlist){foreach(variteminlist){//...}}原因是,在这个版本中,list只枚举一次,所以改成IEnumerable不会自动