Questions tagged «c#»

C#(发音为“ See Sharp”)是由Microsoft开发的一种高级,静态类型的多范例编程语言。C#代码通常针对Microsoft的.NET系列工具和运行时,其中包括.NET Framework,.NET Core和Xamarin。使用此标记可解决有关用C#或C#正式规范编写的代码的问题。

11
将连接字符串传递给代码优先的DbContext
如何将连接字符串传递给实体框架的代码优先DbContext?当DbContext和web.config中的连接字符串位于同一项目中并且以相同的方式命名时,我的数据库生成正常工作。但是现在我需要将DbContext移到另一个项目,因此我正在测试将连接字符串传递给它,如下所示: 模型与背景 public class Dinner { public int DinnerId { get; set; } public string Title { get; set; } } public class NerdDinners : DbContext { public NerdDinners(string connString) : base(connString) { } public DbSet<Dinner> Dinners { get; set; } } 行动 public ActionResult Index() { var db = …

4
为什么我可以将0.0分配给枚举值,而不是1.0
出于好奇:为什么我可以将0.0分配给枚举类型的变量,而不是1.0?看下面的代码: public enum Foo { Bar, Baz } class Program { static void Main() { Foo value1 = 0.0; Foo value2 = 1.0; // This line does not compile Foo value3 = 4.2; // This line does not compile } } 我认为数值类型和枚举值之间的转换只能通过强制转换进行吗?那就是我可以写Foo value2 = (Foo) 1.0;以便Main编译第2行。为什么0.0C#中的值有例外?
90 c# 

9
复合键字典
我在列表中有一些对象,比方说 List<MyClass>,MyClass具有几个属性。我想基于MyClass的3个属性创建列表的索引。在这种情况下,其中两个属性是int的,一个属性是日期时间。 基本上,我希望能够执行以下操作: Dictionary< CompositeKey , MyClass > MyClassListIndex = Dictionary< CompositeKey , MyClass >(); //Populate dictionary with items from the List<MyClass> MyClassList MyClass aMyClass = Dicitonary[(keyTripletHere)]; 有时,我会在列表上创建多个词典,以为其包含的类的不同属性建立索引。我不确定如何最好地处理复合键。我考虑对这三个值进行校验和,但这会带来冲突的风险。
90 c#  dictionary 

2
无法应用项目X的发布属性
每当我们在主要解决方案中进行构建时,我们都会收到以下警告: 无法为项目“ microsoft.visualstudio.qualitytools.unittestframework”应用发布属性。 有人看过这样的东西吗?有想法该怎么解决这个吗?它发生在我们所有的开发人员机器上,也发生在我们的TFS构建服务器上。但是,它仅在调试模式下出现。

3
如何使用Moq框架模拟ModelState.IsValid?
我正在检 ModelState.IsValid入创建这样的Employee的控制器操作方法: [HttpPost] public virtual ActionResult Create(EmployeeForm employeeForm) { if (this.ModelState.IsValid) { IEmployee employee = this._uiFactoryInstance.Map(employeeForm); employee.Save(); } // Etc. } 我想使用Moq Framework在我的单元测试方法中模拟它。我试图这样模拟它: var modelState = new Mock<ModelStateDictionary>(); modelState.Setup(m => m.IsValid).Returns(true); 但这在我的单元测试用例中引发了异常。有谁可以帮我离开这里吗?

7
错误/ langversion的选项'6'无效;必须为ISO-1,ISO-2、3、4、5或默认值
我正在尝试以.NET 4.6为目标,并通过将C#语言版本更改为6来利用最新的C#版本。 但是,在编译过程中出现此错误: 错误/ langversion的选项'6'无效;必须为ISO-1,ISO-2、3、4、5或默认值 如果我将/langversion:6Web.Config中的设置更新为5,则可以使用, <system.codedom> <compilers> <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"> 但是,如何解决此问题而不求助于较低语言版本? 我正在使用Visual Studio 2015社区版,并且还手动安装了.NET Framework 4.6,以防Visual Studio 2015默认情况下未安装它。 该项目是Visual Studio 2015创建的标准ASP.NET MVC模板项目。

9
如何将“ 0”和“ 1”转换为假和真
我有一个通过Odbc连接到数据库的方法。我正在调用的存储过程具有一个返回值,该返回值从数据库侧为“ Char”。现在,我将返回值作为字符串获取,并在简单的if语句中使用它。当只有两个值(0和1)可以从数据库返回时,我真的不喜欢比较这样的字符串的想法。 OdbcCommand fetchCommand = new OdbcCommand(storedProc, conn); fetchCommand.CommandType = CommandType.StoredProcedure; fetchCommand.Parameters.AddWithValue("@column ", myCustomParameter); fetchCommand.Parameters.Add("@myReturnValue", OdbcType.Char, 1) .Direction = ParameterDirection.Output; fetchCommand.ExecuteNonQuery(); string returnValue = fetchCommand.Parameters["@myReturnValue"].Value.ToString(); if (returnValue == "1") { return true; } 处理这种情况的正确方法是什么?我尝试了'Convert.ToBoolean()',这似乎是显而易见的答案,但是我遇到了'String被识别为无效布尔值的问题。'抛出异常。我是否在这里遗漏了某些东西,还是有另一种方式使“ 1”和“ 0”表现为真与假? 谢谢!


8
将物件投放至T
我正在用XmlReader.NET中的类解析XML文件,我认为编写通用的解析函数以通用方式读取不同的属性会很明智。我想出了以下功能: private static T ReadData<T>(XmlReader reader, string value) { reader.MoveToAttribute(value); object readData = reader.ReadContentAsObject(); return (T)readData; } 当我意识到时,这并不能完全按照我的计划进行。由于强制类型转换无法将a转换为数值类型,因此它会引发基本类型(例如int或)的错误。有什么办法可以让我的功能以修改后的形式出现?doublestring
90 c#  generics  casting 

6
如何更改DataTable列的顺序
如何在C#中更改Datatable列的顺序。 例: 创建的sql表类型顺序为Qty,Unit,Id,但在程序DataTable中的顺序为Id,Qty,Unit。在后面的代码中,直接将DataTable传递给sql表类型,因此表顺序不同。 DataTable columns are: `Id,Qty,Unit.` I want this to be: `Qty,Unit,Id` 请帮忙
90 c#  datatable 

10
使用ConfigurationBuilder设置基本路径
我正在尝试为正在构建的.Net Web应用程序设置应用程序基本路径。我在“配置”构建器上不断收到错误。这是我得到的错误。 DNX,Version=v4.5.1 error CS1061: 'ConfigurationBuilder' does not contain a definition for 'SetBasePath' and no extension method 'SetBasePath' accepting a first argument of type 'ConfigurationBuilder' could be found (are you missing a using directive or an assembly reference?) 我假设我会得到同样的错误我.AddJsonFile()和.AddEnvironmentVariables()。我做错什么了吗?我没有在我的project.json中添加正确的依赖项吗?我已经封装了startup.cs和project.json。 project.json { "version": "1.0.0-*", "compilationOptions": { "emitEntryPoint": true }, "tooling": { …
90 c#  asp.net  json  asp.net-mvc 

16
如何检测DataGridView CheckBox事件更改?
我有一个winforms应用程序,并希望在DataGridView选中/取消选中控件中嵌入的复选框时触发一些代码。我尝试过的每件事 CheckBox单击时立即触发,但在其检查状态更改之前触发,或 仅在CheckBox失去焦点时触发 我似乎找不到在检查状态更改后立即触发的事件。 编辑: 我想要实现的是,当一个CheckBox中的a的检查状态DataGridView发生变化时,另外两个中的数据DataGridView发生变化。但是我使用过的所有事件,其他网格中的数据仅CheckBox在第一个网格之后DataGridView失去焦点。


11
如何将字符串转换为布尔
我有一个string可以是“ 0”或“ 1”的值,并且可以保证它不会是其他任何值。 所以问题是:将其转换为的最佳,最简单和最优雅的方法是bool什么?

7
C#中的哈希字符串
尝试在中获取哈希字符串时遇到问题c#。 我已经尝试过一些网站,但是大多数网站都使用文件来获取哈希值。其他用于字符串的有点太复杂。我找到了用于Windows的Web身份验证示例,如下所示: FormsAuthentication.HashPasswordForStoringInConfigFile(tbxPassword.Text.Trim(), "md5") 我需要使用散列来使包含文件名的字符串更安全。我怎样才能做到这一点? 例: string file = "username"; string hash = ??????(username); 我应该使用其他哈希算法而不是“ md5”吗?
90 c#  string  hash 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.