草庐IT

c# - 如何打印对象 ID?

`我需要知道来自程序完全不同部分的两个引用是否指向同一个对象。我无法以编程方式比较引用,因为它们来自不同的上下文(一个引用在另一个引用中不可见,反之亦然)。然后我想使用Console.WriteLine()为每个对象打印唯一标识符。但是ToString()方法不返回“唯一”标识符,它只返回“类名”。是否可以在C#中打印唯一标识符(如在Java中)? 最佳答案 您可以轻松获得的最接近值(不会受到GC移动对象等的影响)可能是​​RuntimeHelpers.GetHashCode(Object).这给出了通过调用Object.GetHa

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

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

c# - 如何在 C# 中查找 IIS 站点 ID?

我正在为我的网络服务编写一个安装程序类。在许多情况下,当我使用WMI时(例如创建虚拟目录时),我必须知道siteId才能为站点提供正确的metabasePath,例如:metabasePathisoftheform"IIS://///Root[/]"forexample"IIS://localhost/W3SVC/1/Root"如何根据站点名称(例如“默认网站”)在C#中以编程方式查找它? 最佳答案 这是通过名称获取它的方法。您可以根据需要进行修改。publicintGetWebSiteId(stringserverName,str

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

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

c# - 获取具有特定 id 值的元素的 XPath 字符串

我正在尝试创建一个从XML文档中获取特定元素的XPath查询/字符串。我试图获取id=38的元素,但由于某种原因我的代码总是不返回任何内容。如果你看看我的代码和我的XML文件的组织,你能告诉我我需要什么XPath来获取id=38的元素吗?我的代码是:XmlDocumentxdoc=newXmlDocument();xdoc.Load(getProductURL());XmlNodenode=xdoc.DocumentElement.SelectSingleNode("id('38')");//nodealwaysisnullforsomereason?xml的组织方式是这样的:

c# - 关于生成无法追踪的发票 ID 的想法

我想在我的应用中为客户打印发票。每张发票都有一个发票ID。我希望ID是:顺序(晚输入的ID)32位整数不容易像123那样可追踪,这样人们就无法分辨我们销售了多少商品。我自己的一个想法:自特定日期和时间(例如1/1/201000AM)以来的秒数。关于如何生成这些数字还有其他想法吗? 最佳答案 我不喜欢浪费时间的想法。您可能会遇到各种各样的问题-时差、一秒钟内发生多个事件等等。如果您想要顺序的且不易追踪的东西,如何为每个新ID生成一个介于1和您想要的任何值(例如100)之间的随机数。每个新的Id将是以前的Id+随机数。您还可以为您的ID

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# - 在构造函数中递增唯一 ID 号

我正在使用C#处理一个对象,我需要该对象的每个实例都有一个唯一的ID。我对此的解决方案是简单地在类中放置一个我称为idCount的成员变量,并在我将拥有的构造函数中:objectID=idCount;idCount++;我认为这会解决我的问题,但似乎idCount永远不会增加,即使多次调用构造函数也是如此。例如,如果idCount=1,则所有对象的objectID仍为1。为什么idCount++不起作用?如有任何帮助,我们将不胜感激。如果我的解释不充分,我深表歉意,我不知道还能怎么解释。 最佳答案 您的类中需要一个静态属性,但是,如

c# - 如何查询具有给定事件 ID 的事件日志详细信息?

如何知道特定事件(给定事件ID、时间和节点作为输入)是否已记录?[在这种情况下,我知道只会记录一个事件]如果记录了事件,如何获取事件描述、日志名称等详细信息。例如,我想在节点ApplicationsandServicesLogs>Microsoft>Windows>groupPolicy>Operational下查询事件,事件ID为5315,时间为当前时间。 最佳答案 如果您要从新样式的Windows事件日志中查询事件,则有一些新的变化。您必须使用System.Diagnostics.Eventing.Reader命名空间中的类来读