C# 两类数组
嗨,我正在做一个学校作业,我需要把这个JAVA代码转换成C#C# 两类数组,c#,java,arrays,C#,Java,Arrays,嗨,我正在做一个学校作业,我需要把这个JAVA代码转换成C# private Map descriptions=new HashMap(); 可以直接转换吗 我已经决定将ItemID转换为int,ProductDescription是一个类。是的,只需将HashMap替换为。您可能希望将变量键入为(与Java代码的精神相同),但这并不是严格必需的。是的,只需将HashMap替换为。您可能希望将变量键入为(与Java代码的精神相同),但这并不是严格必需的。您可以使用字典 表示键和值的集合。密钥
private Map descriptions=new HashMap();
可以直接转换吗
我已经决定将ItemID转换为int,ProductDescription是一个类。是的,只需将
HashMap
替换为。您可能希望将变量键入为(与Java代码的精神相同),但这并不是严格必需的。是的,只需将HashMap
替换为。您可能希望将变量键入为(与Java代码的精神相同),但这并不是严格必需的。您可以使用字典
表示键和值的集合。密钥必须是唯一的。您可以使用字典
表示键和值的集合。密钥必须是唯一的。是的,您可以使用字典而不是HashMap进行转换。当然,了解每个代码段并进行转换更有效。不建议逐行转换,因为您可能会错过更好的解决问题的方法。是的,您可以使用字典而不是HashMap进行转换。当然,了解每个代码段并进行转换更有效。不建议逐行转换,因为您可能会错过更好的解决问题的方法。private Dictionary descriptions=new Dictionary();
private Dictionary<ItemID, ProductDescription> descriptions = new Dictionary<ItemID, ProductDescription>();
hasmap确实允许一个空键条目。在(罕见的?)情况下,您需要这个,我只需创建一个特殊的ItemID,并将其用于null键
当然,您可以使用空键支持创建字典子代,但这样做太过分了(imho;-) private Dictionary descriptions=new Dictionary();
hasmap确实允许一个空键条目。在(罕见的?)情况下,您需要这个,我只需创建一个特殊的ItemID,并将其用于null键
当然,您可以使用空键支持创建字典子代,但这样做太过分了(imho;-) 这是一个很好的匹配,但是
private IDictionary<ItemID, ProductDescription> descriptions
= new Dictionary<ItemID, ProductDescription>();
专用IDictionary描述
=新字典();
注意
将接受null
键值,其中as不接受
如果您真的想支持null
键值,我希望看到您在尝试完美的.NetHashMap
实现之前进行推理。这是一个很好的匹配,但是
private IDictionary<ItemID, ProductDescription> descriptions
= new Dictionary<ItemID, ProductDescription>();
专用IDictionary描述
=新字典();
注意
将接受null
键值,其中as不接受
如果您真的想支持null
键值,我希望看到您在尝试完美的.NetHashMap
实现之前进行推理。有很多选择
有一个
在C中#
所以它可以是List
//首选有很多选择
有一个
在C中#
所以它可以是List
//首选是的,当然可以。
请看以下例子:
IDictionary<int, string> h = new Dictionary<int, string>();
h.Add(1, "a");
h.Add(2, "b");
h.Add(3, "c");
SortedList<int, string> s = new SortedList<int, string>();
s.Add(1, "a");
s.Add(2, "b");
IDictionary h=new Dictionary();
h、 添加(1,“a”);
h、 添加(2,“b”);
h、 添加(3,“c”);
SortedList s=新的SortedList();
s、 添加(1,“a”);
s、 添加(2,“b”);
我想这就是你要找的。是的,当然可以。
请看以下例子:
IDictionary<int, string> h = new Dictionary<int, string>();
h.Add(1, "a");
h.Add(2, "b");
h.Add(3, "c");
SortedList<int, string> s = new SortedList<int, string>();
s.Add(1, "a");
s.Add(2, "b");
IDictionary h=new Dictionary();
h、 添加(1,“a”);
h、 添加(2,“b”);
h、 添加(3,“c”);
SortedList s=新的SortedList();
s、 添加(1,“a”);
s、 添加(2,“b”);
我想这就是您要寻找的。如果ItemID是一个类,为什么要将其转换为int?你能?它是一个包含一个int字段的类吗?那么为什么代码不读取map您需要支持null
键吗?如果ItemID是一个类,为什么要将其转换为int?你能?它是一个包含一个int字段的类吗?那么为什么代码不读取Map您需要支持null
键吗?它很接近,但不完全相同:允许null
值和null
键。@Paolo Dictionary也允许null值。只有一个空键条目不支持编辑的关闭,但不完全相同:允许null
值和null
键。@Paolo字典也允许空值。仅一个空密钥项不受支持