草庐IT

object-equality

全部标签

c# - 为什么我不能将 List<Customer> 作为参数传递给接受 List<object> 的方法?

下面的代码给我这个错误:Cannotconvertfrom'System.Collections.Generic.List'to'System.Collections.Generic.List'.我如何向编译器表明Customer确实继承自对象?或者它只是不对通用集合对象进行继承(发送List会得到相同的错误)。usingSystem.Collections.Generic;usingSystem.Windows;usingSystem.Windows.Documents;namespaceTestControl3423{publicpartialclassWindow2:Window

c# - object @object 是什么意思

我一直在玩弄事件和委托(delegate),需要异步引发我的事件,因此我一直在使用:publiceventEventHandlerOnHelloEvent;publicvoidRaise(){IAsyncResultsyncResult=OnHelloEvent.BeginInvoke(this,newEventArgs(),null,null)在Intellisense中,最后一个null被声明为object@object。我以前没有遇到过这个问题,而且似乎找不到任何相关文档。这是什么意思?有用吗? 最佳答案 @符号可以被认为是某

c# - 将 Object[] 转换为 String[] 或 List<String> 的最佳方法

我有一个数据行。我可以使用属性dataRow.ItemArray获取其中的项目这是类型object[].我需要将其转换为String[]或List我看到了方法ToArray和ToList.但不知道如何使用它。请帮忙。提前致谢 最佳答案 根据dataRow.ItemArray中的实际对象,您有两种选择如果object[]中确实有字符串对象,您可以只对元素进行明智的转换。dataRow.ItemArray.OfType().ToList();但如果对象是另一种类型,如int或其他类型,您需要将其转换为字符串(在本例中为.ToString

C#:CompareTo(String) 和 Equals(String) 有什么区别?

这个问题在这里已经有了答案:DifferencesinstringcomparemethodsinC#(11个答案)关闭7年前。我想知道,在C#中比较字符串时?哪种方法适合使用,为什么?CompareTo()还是Equals()?

c# - 为什么 object.ToString() 存在?

IStringable接口(interface)不是更优雅、更整洁吗?谁需要返回给我们的这个Type.FullName对象?编辑:每个人都在问为什么我认为它更优雅..好吧,就像那样,对象将具有CompareTo方法,而不是IComparable,默认情况下会抛出异常或返回0。有些对象不能也不应该描述为字符串。对象同样可以返回string.Empty。Type.FullName只是一个任意选择..而对于Console.Write(object)等方法,我认为应该是:Write(IStringable)。但是,如果您将WriteLine用于除字符串以外的任何内容(或者它的ToString很

c# - 如果我的类不继承任何东西,为什么我能够覆盖 Equals 方法?

我有点困惑下面的代码是如何工作的publicclassDefaultClass{publicoverrideboolEquals(objectobj){returnbase.Equals(obj);}}我的问题是:我没有继承任何类,但我如何仍然能够覆盖Equals方法。这段代码在VS2010中得到了完美的编译。知道这是如何工作的吗? 最佳答案 因为您的DefaultClass“继承”自object默认情况下。您正在覆盖object.Equals现在。不过我理解其中的困惑。MSDN说像这样的类不继承任何其他类,但它继承了(object

c# - OOPS 概念 : What is the difference in passing object reference to interface and creating class object in C#?

我有一个类CustomerNew和一个接口(interface)ICustomer:publicclassCustomerNew:ICustomer{publicvoidA(){MessageBox.Show("Classmethod");}voidICustomer.A(){MessageBox.Show("Interfacemethod");}publicvoidB(){MessageBox.Show("ClassMethod");}}publicinterfaceICustomer{voidA();}我对这两行代码很困惑。ICustomerobjnew=newCustomerNe

C# 帮助 : Sorting a List of Objects in C#

这个问题在这里已经有了答案:关闭13年前。PossibleDuplicates:SortobjectsusingpredefinedlistofsortedvaluesC#Help:SortingaListofObjectsinC#DoublePostSortingaListofobjectsinC#publicclassCarSpecs{publicCarSpecs(){}privateString_CarName;publicStringCarName{get{return_CarName;}set{_CarName=value;}}privateString_CarMaker;p

c# - "Inspecting the state of an object in the debuggee of type System.Reflection.MethodBase is not supported in this context"

我不知道这个错误是什么意思。我使用的是VisualStudioforMac7.5.0社区版。我在带有ASP.NETCore的EntityFramework中使用延迟加载。publicpartialclassAdminUser{publicAdminUser(){RoleAssign=newHashSet();}publicGuidUserId{get;set;}publicstringFirstName{get;set;}publicstringLastName{get;set;}publicstringEmail{get;set;}publicstringUserName{get;s

c# - String.Equals(string1.Substring(0, x), string2) 比 string1.StartsWith(string2) 好吗?

我使用字符串比较来使用StringComparison.OrdinalIgnoreCase测试URL路径。MSDN给出以下字符串比较建议HERE,但没有阐明为什么:MSDN示例(上页的中间位置):publicstaticboolIsFileURI(stringpath){path.StartsWith("FILE:",StringComparison.OrdinalIgnoreCase);returntrue;}MSDN建议:“但是,前面的示例使用String.StartsWith(String,StringComparison)方法来测试相等性。因为比较的目的是测试相等性而不是对字符