在迭代器中检索变量名

时间:2015-08-20 18:16:34

标签: c# .net iterator iteration

我在C#中有一个非常基础的类,我已经实现了一个迭代器来循环它的所有字符串值(变量),这里是foreach代码:

string strList = "";
foreach (string param in vars) 
{
    strList += param + "\r\n";
}

现在这很酷,我的班级vars包含多个public string ...并且它正确地循环了值,但我还想在我的strList中保存在一行中打印的值因此尊重vars变量名称。

1 个答案:

答案 0 :(得分:0)

这是我到目前为止找到的解决方法,而不是我正在寻找的解决方案,所以我愿意接受比我更正确的答案。在我的类迭代器实现中,我返回如下值:

yield return first_name; yield return phone_number; ...

一个非常简单的“解决方案”是将变量名称与迭代器内的值一起传递,但是我是否需要迭代我必须拆分的值并过滤结果,这就是为什么我说我更喜欢更多清洁解决方案:

yield return "first_name: " + first_name; 
yield return "phone_number: " + phone_number; 
...