草庐IT

list-style-type

全部标签

c# - 什么是 Type.GUID,它与 Type.Equals() 有什么关系?

我在尝试将System.RuntimeType的实例与泛型类型TOut进行比较时遇到了一些有趣的行为:TyperuntimeT=methodInfo.ReturnType;//getRuntimeTypeusingreflectionTypegenericT=typeof(TOut);//ThisconditionfailsbecauseruntimeTdoesn't//seemtoincludeanassemblyqualifiednameif(runtimeT.Equals(genericT)){...}这是我的证据:免责声明:我不知道GUID在CLR/类型系统的上下文中到底是什么

c# - C# List<T> 中元素的顺序是否确定?

我一直不这么认为,但最近我需要知道:如果我按特定顺序将元素添加到列表中,我是否保证总是按相同的顺序找到它们?谢谢! 最佳答案 是的;您可以控制List的顺序.您可以假设任何带有list[int]的.NET集合索引器具有可预测的顺序;否则,数字索引将没有任何意义。相比之下,不可能使用Dictionary的数字索引。,并且当您枚举字典时,无法保证顺序。 关于c#-C#List中元素的顺序是否确定?,我们在StackOverflow上找到一个类似的问题: https

c# - List<T>.Contains() 是线程安全调用 - C#

我的理解是,如果您在C#中使用泛型列表(List),那么它可以支持多个并发读取器,但只能支持一个写入器。当您将编写器引入混合时,您还必须提供同步结构以使操作线程安全。List.Contains是否被视为读取操作?换句话说,如果我调用这个方法,我是否需要担心写入者可能同时写入这个列表? 最佳答案 是的,你应该。基本上,如果列表可能同时用于写入,我会同步任何操作。一般来说,我发现集合分为两类-一种是创建、初始化然后再也不会更改(线程安全),另一种是随着时间的推移而发生变化(非线程安全,所有访问都锁定)。

c# - 如何从 C# 中的异步任务 <bool> 函数获取 bool 结果 - 错误 : Cannot implicitly convert type `void' to `bool'

我已经创建了任务函数来验证我的json文件。一切正常,直到我没有使用结果。当我试图从asynctaskfunction获得结果时它显示错误为Cannotimplicitlyconvert'void'tobool.我的异步函数如下:privateasyncTaskMyValidationFunction(stringjson){boolisValid=true;.......DOINGMYVALIDATIONSTUFF.....returnisValid;}从另一个函数调用这个函数如下:publicboolGetJsonAndValidate(){boolisValid=true;str

c# - 错误 CS0051(不一致的可访问性 : parameter type 'Job' is less accessible than method 'AddJobs.TotalPay(Job)' )

我通过省略totalFee字段成功编译并运行了下面的源代码。如何将totalFee写入此程序,以便它准确计算每项工作的总费用(费率*时间)?下面,您会看到我尝试使用一种方法;这产生了错误CS0051(可访问性不一致:参数类型“Job”的可访问性低于方法“AddJobs.TotalPay(Job)”)。此源代码是对以下作业的响应:"DesignaJobclassforHarold’sHomeServices.Theclasscontainsfourdatafields—Jobdescription(forexample,“washwindows”),timeinhourstocomple

c# - 如何在 C# 中合并列表<List<String>>

我有一个List>,其中包含{{"A","B"},{"C","D"}}我需要将所有内部列表合并到另一个列表中因此结果List将包含{"A","B","C","D"}现在我正在使用forloop做这个有什么方法可以使用LINQ来做到这一点或LambdaExpression.请帮我做这件事。提前致谢。 最佳答案 不完全是联合,但你可以试试这个YourList.SelectMany(l=>l).Distinct() 关于c#-如何在C#中合并列表>,我们在StackOverflow上找到一个类

c# - 如何为 "T must be a reference type"编写单元测试?

考虑:classMyClasswhereT:class{}在这种情况下,where子句强制执行MyClass只是引用类型的泛型的规范。理想情况下,我应该有一个测试此规范的单元测试。然而,这个单元测试显然行不通,但它解释了我想要完成的事情:[Test][DoesNotCompile()]publicvoidT_must_be_a_reference_type(){vartest=newMyClass();}如何测试通过不允许代码编译实现的规范?编辑:更多信息:好的,所以我这样做的理由(哈哈)是我一直在遵循TDD方法,在这种方法中,除非单元测试失败,否则您不能编写任何代码。假设您有这个:c

c# - 从 C# List<T> 中删除项目是否会保留其他项目的订单?

最近,我写了很多看起来像这样的代码:ListmyList=newList();...for(inti=0;i我只是变得有点偏执,也许List在删除时不保留对象顺序。我不太了解C#规范,无法确定。有人可以验证我是不是在找这种模式的麻烦吗?编辑:也许我应该澄清一下,上面是一个非常简化的例子,如果需要删除该项目会发生更多事情,所以我不认为List.RemoveAll()在这里非常适用。虽然这是一个很好的功能。我在if()中添加了评论上面的block特别提到了这一点。 最佳答案 List添加、插入和删除时将始终保持相对顺序;如果没有,它就不

c# - 可访问性不一致 : return type is less accessible than method C#

好吧,这真的很奇怪。我有一个私有(private)成员,我想将它用于Form2。我创建了一个公共(public)静态方法,以便我可以将该成员放入Form2。这是我的代码:privatestaticAppControllerappController;privateBreadRepositorybreadRep;privateCakeRepositorycakeRep;privateSandwichRepositorysandwichRep;publicForm1(){InitializeComponent();breadRep=newBreadRepository();cakeRep=

c# - 在 C# 中将 List<string> 转换为 List<int>

我想转换一个List到List.这是我的代码:voidConvert(ListstringList){ListintList=newList();for(inti=0;i 最佳答案 您可以使用List.ConvertAll(...)而不是使用LINQListintList=stringList.ConvertAll(int.Parse); 关于c#-在C#中将List转换为List,我们在StackOverflow上找到一个类似的问题: https://sta