我试图了解将数组参数传递给方法并在 C# 中创建动态数组。最后我有2个问题。
此 LINQ to XML 语句运行良好:
XDocument doc = new XDocument(
new XElement("Processes",
from p in Process.GetProcesses()
orderby p.ProcessName
select (new XElement("Process",
new XAttribute("Name", p.ProcessName),
new XAttribute("PID", p.Id)))));
我想用不同的方式重写它来理解传递数组的概念,但它在最后一行产生了一个 InvalidOperationException :
var query = from p in Process.GetProcesses()
orderby p.ProcessName
select p;
List<XElement> content = new List<XElement>();
foreach (var item in query)
{
content.Add(new XElement("Process",
new XAttribute("Name", item.ProcessName),
new XAttribute("PID", item.Id)));
}
// Is there any other way to create dynamic array instead of using List
// and converting it to Array?
var paramArr = content.ToArray();
XDocument doc = new XDocument(paramArr);
我有两个问题:
我应该如何将数组参数传递给此方法或类似方法:public XDocument(params Object[] content)?
有没有其他方法可以在 C# 中创建动态数组而不使用列表和强制转换为数组?