我正在将一个从VB.NET移植到C#的应用程序,并发现我不能.ItemOf在C#中使用,但是如果我没有使用.ItemOf它似乎工作.但是,以下两个片段实际上是在做同样的事情吗?
VB
Public Shared Settings As NameValueCollection
'some code
Dim key As XmlNode
For Each key In node.ChildNodes
MobileConfiguration.Settings.Add(key.Attributes.ItemOf("key").Value, key.Attributes.ItemOf("value").Value)
Next
'some code
Run Code Online (Sandbox Code Playgroud)
C#
public static NameValueCollection Settings;
//some code
foreach (XmlNode key in node.ChildNodes)
MobileConfiguration.Settings.Add(key.Attributes["key"].Value, key.Attributes["value"].Value);
//some code
Run Code Online (Sandbox Code Playgroud)
是的,C#indexer语法相当于VB代码的.ItemOf()调用.如果你查看文档,你可以看到这个ItemOf.如果顶部的语言首选项设置为C#1,则示例如下所示:
Run Code Online (Sandbox Code Playgroud)using System; using System.IO; using System.Xml; public class Sample { public static void Main(){ XmlDocument doc = new XmlDocument(); doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" + "<title>Pride And Prejudice</title>" + "</book>"); //Create an attribute collection. XmlAttributeCollection attrColl = doc.DocumentElement.Attributes; Console.WriteLine("Display all the attributes in the collection...\r\n"); for (int i=0; i < attrColl.Count; i++) { Console.Write("{0} = ", attrColl[i].Name); Console.Write("{0}", attrColl[i].Value); Console.WriteLine(); } } }
如果您的语言设置设置为VB,您将看到以下示例:
Run Code Online (Sandbox Code Playgroud)Imports System Imports System.IO Imports System.Xml public class Sample public shared sub Main() Dim doc as XmlDocument = new XmlDocument() doc.LoadXml("<book genre='novel' ISBN='1-861001-57-5'>" & _ "<title>Pride And Prejudice</title>" & _ "</book>") 'Create an attribute collection. Dim attrColl as XmlAttributeCollection = doc.DocumentElement.Attributes Console.WriteLine("Display all the attributes in the collection...") Dim i as integer for i=0 to attrColl.Count-1 Console.Write("{0} = ", attrColl.ItemOf(i).Name) Console.Write("{0}", attrColl.ItemOf(i).Value) Console.WriteLine() next end sub end class
C#为索引器保留特殊语法,并且ItemOf是XmlAttributeCollection该类的索引器.
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |