gpt4 book ai didi

c# - Java 枚举类型的 C# 等效项是什么?引用下面的代码

转载 作者:行者123 更新时间:2023-12-01 15:41:13 25 4
gpt4 key购买 nike

public Enumeration getLogEntries(String header)
{
return log != null ? ((Vector)log.get(header)).elements() : null;
//log is a hashtable
//
}

这是我在 C# 中尝试过的,但它并不完整:

public IEnumerator getLogEntries(string header)
{
return log.Keys.GetEnumerator(); //Something is missing here!
//log is Dictionary<string,List<string>>()
}

最佳答案

不要返回 IEnumerator ,返回IEnumerable :

public IEnumerable<string> GetLogEntries(string header)
{
return log != null && log.ContainsKey(header) ? log[header] : Enumerable.Empty<string>();
}

然后你迭代它:

foreach(string entries in GetLogEntries("someKey"))
{
//do something
}

这还有强类型的优点。

还有IList<string>ICollection<string> 。取决于您想如何处理数据以及您是否计划.Add向他们求助。

Enumerable静态类可以在 System.Linq 中找到命名空间,如果您以前从未听说过 linq,LINQ Query Expressions (C# Programming Guide)是一本好书。对我来说,LINQ 改变了我看待序列的方式。

关于c# - Java 枚举类型的 C# 等效项是什么?引用下面的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8012498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com