草庐IT

c# - 检查对象是否已更改的最佳做法是什么?

我需要知道您如何检查对象是否已更改。基本上我需要一个类似于名为TrackChanges的属性,当我将它设置为true一次并且如果此对象中的任何数据被“更改”时,同一对象(IsObjectChanged)上的方法可以返回true。您是否需要这样的东西,您是如何解决的?如果已经有针对这种情况的最佳实践,我不想发明轮子?我想在调用TrackChange=true之前克隆对象,在它的setter中。当我使用反射调用IsObjectChanged()时,我会将它的所有公共(public)字段值与克隆副本进行比较。我不确定这是不是一个好方法。有什么建议吗?谢谢,布拉克·奥兹多安

c# - 如何检查对象是否不是特定类型?

我想检查一个对象是否属于特定类型。我知道如何检查某物是否是特定类型:if(tisTypeA){...}但是if(tisntTypeA){...}没用。 最佳答案 2020年10月30日更新:时代在变。从C#9.0开始,您可以使用更自然的方式来检查它:if(tisnotTypeA){...}原始答案:C#不是很自然的语言;)用这个if(!(tisTypeA)){...} 关于c#-如何检查对象是否不是特定类型?,我们在StackOverflow上找到一个类似的问题:

c# - 检查对象是否为值类型的最有效方法

警告:这段代码很糟糕,请参阅安东尼的评论哪个更快?1.publicboolIsValueType(Tobj){returnobjisValueType;}2.publicboolIsValueType(Tobj){returnobj==null?false:obj.GetType().IsValueType;}3.publicboolIsValueType(Tobj){returndefault(T)!=null;}4.其他的 最佳答案 您并不是真正在测试对象-您想要测试类型。要调用这些,调用者必须知道类型,但是......嗯。给出

c# - 检查对象是否不是类型(!= 等同于 "IS")- C#

这很好用:protectedvoidtxtTest_Load(objectsender,EventArgse){if(senderisTextBox){...}}有没有办法检查发件人是否不是文本框,某种等同于!=的"is"?请不要建议将逻辑移至ELSE{}:) 最佳答案 这是一种方式:if(!(senderisTextBox)){...} 关于c#-检查对象是否不是类型(!=等同于"IS")-C#,我们在StackOverflow上找到一个类似的问题: htt

c# - 如何检查对象是否已存在于列表中

我有一个listListmyList我正在向列表中添加项目,我想检查该对象是否已在列表中。所以在我这样做之前:myList.Add(nextObject);我想看看nextObject是否已经在列表中。对象“MyObject”有许多属性,但比较是基于两个属性的匹配。在将新的“MyObject”添加到这个“MyObject”列表之前进行检查的最佳方法是什么。我想到的唯一解决方案是从列表更改为字典,然后将键设为属性的串联字符串(这似乎有点不雅)。还有其他使用list或LINQ或其他东西的清洁解决方案吗? 最佳答案 要看具体情况的需要。例

c# - 如何在C#中检查对象是否可序列化

我正在寻找一种简单的方法来检查C#中的对象是否可序列化。正如我们所知,您可以通过实现ISerializable接口(interface)或将[Serializable]放在类的顶部来使对象可序列化。我正在寻找一种快速的方法来检查它,而不必反射(reflect)类来获取它的属性。使用is语句界面会很快。根据@Flard的建议,这是我想出的代码,尖叫有没有更好的方法。privatestaticboolIsSerializable(Tobj){return((objisISerializable)||(Attribute.IsDefined(typeof(T),typeof(Serializ

c# - 在 C# 中检查对象是否为 null

如果对象为空,我想阻止对它的进一步处理。在下面的代码中,我通过以下任一方式检查对象是否为空:if(!data.Equals(null))和if(data!=null)但是,我在dataList.Add(data)收到了一个NullReferenceException。如果对象为null,它甚至不应该进入if语句!因此,我在问这是否是检查对象是否为null的正确方法:publicListdataList;publicboolAddData(refObjectdata)boolsuccess=false;try{//I'vealsoused"if(data!=null)"whichhasn

c# - 如何检查对象是否可为空?

如何检查给定对象是否可为空,换句话说如何实现以下方法...boolIsNullableValueType(objecto){...}我正在寻找可为null的值类型。我没有想到引用类型。//Note:Thisisjustasample.Thecodehasbeensimplified//tofitinapost.publicclassBoolContainer{bool?myBool=true;}varbc=newBoolContainer();constBindingFlagsbindingFlags=BindingFlags.Public|BindingFlags.NonPublic

Javascript:检查对象是否没有属性或映射/关联数组是否为空

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicate:HowdoItestforanemptyJavascriptobjectfromJSON?在Javascript中是否有一种简单的方法来检查对象是否没有属性?或者换句话说,检查映射/关联数组是否为空的简单方法?例如,假设您有以下内容:varnothingHere={};varsomethingHere={foo:"bar"};有没有一种简单的方法来判断哪个是“空的”?我唯一能想到的是这样的:functionisEmpty(map){varempty=true;for(varkeyinmap){empty=fa

javascript - 如何检查对象是否是 DOM 元素?

这个问题在这里已经有了答案:HowdoyoucheckifaJavaScriptObjectisaDOMObject?(36个答案)关闭2年前。我有一个函数:functionCheck(o){alert(/*oisaDOMelement?"true":"false"*/);}如何检查参数o是否为DOM对象?