【问题标题】:what should I use to pass parameters? List / Array / Object in C#我应该用什么来传递参数? C#中的列表/数组/对象
【发布时间】:2013-09-05 15:42:31
【问题描述】:

我还是个新手。 我有这种情况要解决。我知道这很容易。但我才刚刚开始研究 C# 世界。

我需要将 x 元素的关联数组传递给函数。

我需要传递一些数据,例如data1=een&data2=twee&data3=drie&data4=fier

那么我的问题是:

1) 我如何声明我的函数?

private void myFoo(List<List<string>> data){}
private void myFoo(string[] data){}

2) 如何在字符串列表的列表上循环?像这样的东西-我知道它不正确-

3) 如何创建我的数组?

【问题讨论】:

  • 您的 x 值会被设置,还是会有所不同?
  • @Paddy 我不明白你的意思

标签: c# .net arrays list


【解决方案1】:

一种选择是使用Dictionary&lt;string,string&gt;。这将允许您通过函数传递键值。

private void myFoo(Dictionary<string,string> data)
{}

将其构建为:

var dict = new Dictionary<string,string>();
dict.Add("data1", "een");
dict.Add("data2", "twee");

获取方式:

var value = dict["data1"];  // You can also use TryGetValue, etc.

【讨论】:

  • 我正要提出同样的建议。
  • System.Collections.Specialized.StringDictionary 我觉得会更合适
  • @SriramSakthivel 那个类不太合适——在泛型之前它是一个更好的选择(如果你使用.NET 1.1),但是在泛型之后,这些类确实是最好不用的.
  • OP 问题的 part 2) - msdn.microsoft.com/en-us/library/5tbh8a42.aspx 向您展示了如何使用“备注”下的“foreach”循环访问字典。您将获得一个 KeyValue 对,其中 Key = data1 和 Value = een
  • @SriramSakthivel 为什么?它的功能少于Dictionary。它的唯一目的是在泛型存在之前有一个强类型的HashTable。一旦 .NET 2.0 出现,它实际上只需要存在以实现向后兼容性。目前没有理由在新的开发中使用它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-26
  • 2023-03-13
  • 2019-09-26
  • 2021-08-26
  • 1970-01-01
  • 2021-12-31
相关资源
最近更新 更多