Questions tagged «c#»

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

7
C#-如何停止计时器?
我知道这听起来很愚蠢,但是我已经尝试了一切来停止计时器,但是计时器不会停止。我正在开发游戏,如果有人可以告诉我如何停止计时器,我将不胜感激。
76 c#  .net  timer 

2
Find()和First()抛出异常,如何返回null?
搜索列表时,是否有一个linq lambda搜索方法返回null,而不是引发异常? 我当前的解决方案是这样的:(以避免引发异常) if (list.Exists(x => x.Foo == Foo)) { var listItem = list.Find(x => x.Foo == Foo); } 重复表达只是感觉不对。 就像是 ... var listItem = list.Find(x => x.Foo == Foo); if (listItem != null) { //Do stuff } ...对我来说感觉更好。还是只是我? 您对此有更好的方法吗?(解决方案不必返回null,只有更好的解决方案才是好的)
76 c#  .net  linq  lambda 

10
通过字符串从C#动态对象获取属性值(反射?)
假设我有一个动态变量: dynamic d = *something* 现在,我d从字符串数组创建我拥有的属性: string[] strarray = { 'property1','property2',..... } 我事先不知道属性名称。 d创建代码并将strarray从数据库中提取后,如何在代码中获取值? 我想得到d.property1 , d.property2。 我看到该对象有一个_dictionary内部字典,其中包含键和值,如何检索它们?

1
ASP.NET添加迁移“复合主键错误”如何使用流畅的API
您好,我正在创建Web应用程序,并且已经安装了Microsoft.entityFrameworkCore和Microsoft.entityFrameworkCore.Tools。 在程序包管理器控制台中执行添加迁移的过程中,出现错误 “ System.InvalidOperationException:实体类型'Attends'具有使用数据注释定义的复合主键。要设置复合主键,请使用fluent API “ 这是我在实体文件夹中的代码。 using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using System.Threading.Tasks; namespace _3241_farmDb.Entities { public class Farm { [Required, MaxLength(30)] [Key] public string FarmName { get; set; } [Required, MaxLength(15)] public string FarmCity { get; set; } [Required, MaxLength(9)] public string FarmerSSN …

13
运行单元测试时如何获取目录
嗨,当我运行单元测试时,我想获取我的项目正在运行的目录以检索文件。 假设我有一个名为MyProject的测试项目。测试我运行: AppDomain.CurrentDomain.SetupInformation.ApplicationBase 我收到了"C:\\Source\\MyProject.Test\\bin\\Debug"。 这接近我的追求。我不希望bin\\Debug部分。 有人知道我怎么能得到"C:\\Source\\MyProject.Test\\"吗?

3
使用Lambda表达式代替IComparer参数
C#是否可以在方法调用中将Lambda表达式作为IComparer参数传递? 例如类似 var x = someIEnumerable.OrderBy(aClass e => e.someProperty, (aClass x, aClass y) => x.someProperty > y.SomeProperty ? 1 : x.someProperty < y.SomeProperty ? -1 : 0); 我不能完全编译它,所以我猜不是,但是在lambda和匿名委托之间似乎有如此明显的协同作用,我觉得我一定做错了。 TIA
76 c#  lambda  icomparer 

7
排序列表<int>
使用C#进行数字排序的最佳方法是什么?我的清单中有项目5,7,3,我希望将其排序为3,5,7。我知道一些更长的方法,但是我想linq有更快的方法吗? 抱歉,这是一天的结束,我的主意是它在其他地方起作用,第一次没有看到它改变:(
76 c#  linq  list 

7
读取Excel文件(.xls / .xlsx)的最佳方法
我知道有多种读取Excel文件的方法: Iterop Oledb Open Xml SDK 兼容性不是问题,因为程序将在受控环境中执行。 我的要求: 将文件读为DataTable/ CUstom Entities(我不知道如何为对象创建动态属性/字段[列名在Excel文件中会有所不同]) 用于DataTable/Custom Entities使用其数据执行某些操作。 更新DataTable操作结果 写回excel file。 这会更简单。 另外,如果可能的话,请教我有关自定义实体的信息(将属性/字段动态添加到对象)

2
moq objects返回方法,应返回一个空对象
我正在开发Web API,我想出的一项测试是,如果客户端使用物理测试ID(物理测试是我正在寻找的资源)进行GET操作,但找不到该物理测试,则Web API应该返回404状态。 现在,我正在使用moq框架进行测试,并且具有以下代码: [TestMethod] public void then_if_physical_test_not_found_return_not_found_status() { var unitOfWork = new Mock&lt;IUnitOfWork&gt;(); var repository = new Mock&lt;IRepository&lt;PhysicalTest&gt;&gt;(); repository.Setup(r =&gt; r.FindById(It.IsAny&lt;int&gt;())).Returns(); unitOfWork.Setup(m =&gt; m.PhysicalTests).Returns(repository.Object); var pt = new PhysicalTestResource(unitOfWork.Object); HttpResponseMessage&lt;PhysicalTest&gt; response = pt.GetPhysicalTest(43); Assert.AreEqual(HttpStatusCode.NotFound, response.StatusCode) } 我需要Return()方法来返回一个空对象,这将是如果找不到资源则实际API方法将返回的对象。 我尝试在Return()方法中将null作为参数发送,但没有成功。

2
无效是什么!声明是什么意思?
我最近看过以下代码: public class Person { //line 1 public string FirstName { get; } //line 2 public string LastName { get; } = null!; //assign null is possible public string? MiddleName {get; } = null; public Person(string firstName, string lastName, string middleName) { FirstName = firstName; LastName = lastName; MiddleName = …

9
何时使用:Tuple与Class C#7.0
在Tuples之前,我曾经创建过一个class及其变量,然后从此类创建对象,并使该对象成为某些函数的返回类型。 现在用的元组,我可以做同样的在C#7.0,我们可以为元组的属性分配可以理解的名称(在此之前它item1,item2等..) 所以现在我想知道,什么时候应该使用它,什么时候应该在c#7.0中创建一个类?
76 c#  tuples  c#-7.0  valuetuple 


5
如何使用LINQ计算列表中的重复项
我有项目清单 约翰·爱德 马特ID 约翰·爱德 斯科特ID 马特ID 约翰·爱德 卢卡斯ID 我想将它们推回到类似的列表中,这也意味着我想按重复项的最高数量进行排序。 约翰ID 3 马特ID 2 斯科特ID 1 卢卡斯ID 1 让我知道如何使用LINQ和C#做到这一点。 谢谢大家 编辑2显示代码: List&lt;game&gt; inventory = new List&lt;game&gt;(); drinkingforDataContext db = new drinkingforDataContext(); foreach (string item in tbTitle.Text.Split(' ')) { List&lt;game&gt; getItems = (from dfg in db.drinkingfor_Games where dfg.game_Name.Contains(tbTitle.Text) select new game { …
76 c#  linq 

10
如何按依赖性对依赖对象进行排序
我有一个收藏: List&lt;VPair&lt;Item, List&lt;Item&gt;&gt; dependencyHierarchy; 成对的第一个项目是某个对象(项目),第二个项目是第一个项目所依赖的相同类型对象的集合。我想获得一个List&lt;Item&gt;依序排列的依存关系,因此没有依赖于第一个元素的项目,依此类推(没有循环依存关系!)。 输入: Item4取决于Item3和Item5 Item3取决于Item1 Item1不依赖任何一个 Item2取决于Item4 Item5不依赖于任何一个 结果: 项目1 项目5 项目3 项目4 项目2 谢谢。 解: 拓扑排序(感谢LoïcFévrier的想法) 和 例如在C#中,例如Java的 (感谢xcud伟大的例子)

7
可以在生产代码中使用秒表吗?
我需要一个准确的计时器,而DateTime.Now似乎不够准确。根据我阅读的说明,System.Diagnostics.Stopwatch似乎正是我想要的。 但是我有恐惧症。我担心在实际生产代码中使用System.Diagnostics中的任何内容。(我将它广泛用于与Asserts和PrintLns等一起进行调试,但从未用于生产方面。)我不仅在尝试使用计时器来对我的函数进行基准测试-我的应用程序需要一个实际的计时器。我在另一个论坛上读到System.Diagnostics.StopWatch仅用于基准测试,尽管没有给出理由,但不应在零售代码中使用。这是正确的,还是我(以及发布此建议的人)对System.Diagnostics过于封闭?即,可以在生产代码中使用System.Diagnostics.Stopwatch吗?谢谢阿德里安

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.