草庐IT

object_key

全部标签

c# - 在没有不可变字段的类中覆盖 Object.GetHashCode() 时返回什么?

好吧,在你因为互联网上发布了数百个听起来相似的问题而生气之前,我可以向你保证,我刚刚花了最后几个小时阅读了所有并且没有找到了我的问题的答案。背景:基本上,我的一个大型应用程序一直遇到这样一种情况,即ListBox.SelectedItem属性上的某些Binding会停止工作,或者程序会在之后崩溃对当前选定的项目进行了编辑。我最初问'Anitemwiththesamekeyhasalreadybeenadded'ExceptiononselectingaListBoxItemfromcode在这里提问,但没有得到答案。直到本周我才有时间解决这个问题,当时我有几天时间来解决它。现在长话短说

c# - 检查 IEnumerable<object> 是否为 IEnumerable<int>

我已经IEnumerable类型变量。IEnumerableitems=newobject[]{1,2,3};检查它是否为IEnumerable的最佳方法是什么??我试过了typeof(IEnumerable).IsAssignableFrom(items.GetType())typeof(IEnumerable).IsInstanceOfType(items)itemsisIEnumerable但是,Re-Sharper会提示所有这些问题。就我而言,IEnumerableitems类型为IEnumerable在大多数情况下。我想在类型为IEnumerable时执行某些操作以及其他类型

c# - 如何在不破坏现有 Object.Equals() 的情况下仅检查两个对象的属性是否相等?

基本上,GethashCode是不同的,即使它们包含相同的属性值...那么为什么默认返回差异哈希码?publicclassUser{publicInt32Id{get;set;}publicStringUsername{get;set;}}Usera=newUser();a.Id=1;a.Username="Hello";Userb=newUser();b.Id=1;b.Username="Hello";Console.WriteLine("HashA:{0}|HashB:{1}",a.GetHashCode(),b.GetHashCode());//HashA:37121646|Ha

c# - 如何判断ModelState的哪个key有错误

当ModelState.IsValid为false时,如何确定ModelState中的哪些键包含错误?通常我只是将鼠标悬停在ModelState.Values列表中逐项检查错误计数>0。但现在我正在处理一个包含一些复杂对象列表的View,总共有252个ModelState项目(每个对象的每个项目每个列表的ModelState.Keys上都有一个条目)。那么,有没有更简单的方法来指出错误来源呢? 最佳答案 您可以检查ViewData.ModelState.Values集合并查看错误是什么。[Httpost]publicActionRe

c# - 如何确定 appconfig 包含特定 key

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:C#assembly>appsettings>howtocheckifoneexists?在app.config中,我如何知道它是否包含特定key?

c# - Visual Studio 2017 : "Object reference not set to an instance of an object" while loading the project

我在VS解决方案中有一个项目可以在VS2015中正确加载,但它似乎在VS2017(RC2)中已损坏。在解决方案资源管理器中,它显示其“加载失败”,当我尝试重新加载它时,我收到一个错误弹出窗口,消息为“对象引用未设置为对象的实例”。我认为这可能是因为VS2017以某种方式更改了.csproj文件以满足他们的需要,但是在将它与VS2015解决方案中的版本进行比较后我发现它们并没有什么不同。有人遇到过这样的事情吗?以及如何修复它?谢谢。 最佳答案 对于VisualStudio2017的我来说,这些建议都没有奏效。有效的方法是关闭所有Vis

c# - 如何从虚拟键代码转换为 System.Windows.Forms.Keys

如果我使用win32调用拦截按键,我现在就有了一个键码。有没有办法将其转换为System.Windows.Forms.Keys值? 最佳答案 使用KeyInterop.KeyFromVirtualKey(). 关于c#-如何从虚拟键代码转换为System.Windows.Forms.Keys,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/554015/

c# - 从 Dictionary<Key, Item> 中移除元素

我有一个字典,其中的项目是(例如):“A”,4“乙”,44“再见”,56“C”,99“D”,46"6672",0我有一个列表:“一个”“C”“D”我想从我的字典中删除所有键不在我的列表中的元素,最后我的字典将是:“A”,4“C”,99“D”,46我该怎么办? 最佳答案 构造新的Dictionary以包含列表中的元素更简单:ListkeysToInclude=newList{"A","B","C"};varnewDict=myDictionary.Where(kvp=>keysToInclude.Contains(kvp.Key)).

c# - F# 等效于 C# 'object' 关键字

我正在尝试将现有的c#移植到f#,我是否会在移植此c#行时遇到困难:publicobjectmyInnerOject 最佳答案 在C#中object只是一个引用System.Object的类型名称.在F#中,您可以使用此完整的.NET名称或类型别名obj.现在,关于字段声明——根据上下文,有多种方式来编写它。此外,在F#中初始化所有字段也是一种很好的做法,因此查看代码的更大上下文会很有用。但是,你可以这样写:typeA()=letmutable(myInnerObj:obj)=null这会创建一个私有(private)字段myInn

c# - 对 Object.ToString() 的冗余调用

我有一个函数,除其他外,它接受一个声明为intprivateCount的参数。当我想在此参数上调用ToString()时,ReSharper会将其灰显并将其标记为冗余调用。因此,尽管我很好奇,但我删除了ToString(),代码仍然可以构建!C#编译器如何允许这样做,其中str是一个字符串?str+=privateCount+... 最佳答案 string的+运算符被重载以调用String.Concat传入表达式的左侧和右侧。因此:stringx="123"+45;编译为:String.Concat("123",45);由于Stri