C# 创建新项目并将其添加到新词典 公共类员工 { 公共词典; // .... } MyClass cls; if(employeeObject.MyDictionary!=null&&employeeObject.MyDictionary.ContainsKey(dicKey) { // .... } 其他的 { MyClass cls=新的MyClass(); myclass.Name=“John”; //…在其上设置一些其他属性 employeeObject.MyDictionary.Add(dicKey,cls) }
因此,首先我检查我的对象是否为空,然后我创建它,但即使我在C# 创建新项目并将其添加到新词典 公共类员工 { 公共词典; // .... } MyClass cls; if(employeeObject.MyDictionary!=null&&employeeObject.MyDictionary.ContainsKey(dicKey) { // .... } 其他的 { MyClass cls=新的MyClass(); myclass.Name=“John”; //…在其上设置一些其他属性 employeeObject.MyDictionary.Add(dicKey,cls) },c#,C#,因此,首先我检查我的对象是否为空,然后我创建它,但即使我在else部分创建它,然后我想在最后一行添加它,它仍然显示employeeObject。MyDictionary为null,因此它会崩溃,因为它是null.add 那么我应该怎么做呢?在使用字典之前,您应该初始化字典: public class Employee { public Dictionary<key, MyClass> MyDictionary; // .... } MyClass cls; if(e
else
部分创建它,然后我想在最后一行添加它,它仍然显示employeeObject。MyDictionary
为null
,因此它会崩溃,因为它是null.add
那么我应该怎么做呢?在使用字典之前,您应该初始化字典:
public class Employee
{
public Dictionary<key, MyClass> MyDictionary;
// ....
}
MyClass cls;
if(employeeObject.MyDictionary != null && employeeObject.MyDictionary.ContainsKey(dicKey)
{
// ....
}
else
{
MyClass cls = new MyClass();
myclass.Name = "John";
//...set some other properties on it
employeeObject.MyDictionary.Add(dicKey, cls)
}
公共类员工
{
公共字典MyDictionary=新字典();
}
否则,类字段将具有默认值,对于引用类型,默认值为null
。请参阅:
字段的初始值,无论是静态字段还是静态字段
实例字段,是该字段的默认值(第5.2节)
类型
您应该在使用字典之前初始化它:
public class Employee
{
public Dictionary<key, MyClass> MyDictionary;
// ....
}
MyClass cls;
if(employeeObject.MyDictionary != null && employeeObject.MyDictionary.ContainsKey(dicKey)
{
// ....
}
else
{
MyClass cls = new MyClass();
myclass.Name = "John";
//...set some other properties on it
employeeObject.MyDictionary.Add(dicKey, cls)
}
公共类员工
{
公共字典MyDictionary=新字典();
}
否则,类字段将具有默认值,对于引用类型,默认值为null
。请参阅:
字段的初始值,无论是静态字段还是静态字段
实例字段,是该字段的默认值(第5.2节)
类型
您应该在使用字典之前初始化它:
public class Employee
{
public Dictionary<key, MyClass> MyDictionary;
// ....
}
MyClass cls;
if(employeeObject.MyDictionary != null && employeeObject.MyDictionary.ContainsKey(dicKey)
{
// ....
}
else
{
MyClass cls = new MyClass();
myclass.Name = "John";
//...set some other properties on it
employeeObject.MyDictionary.Add(dicKey, cls)
}
公共类员工
{
公共字典MyDictionary=新字典();
}
否则,类字段将具有默认值,对于引用类型,默认值为null
。请参阅:
字段的初始值,无论是静态字段还是静态字段
实例字段,是该字段的默认值(第5.2节)
类型
您应该在使用字典之前初始化它:
public class Employee
{
public Dictionary<key, MyClass> MyDictionary;
// ....
}
MyClass cls;
if(employeeObject.MyDictionary != null && employeeObject.MyDictionary.ContainsKey(dicKey)
{
// ....
}
else
{
MyClass cls = new MyClass();
myclass.Name = "John";
//...set some other properties on it
employeeObject.MyDictionary.Add(dicKey, cls)
}
公共类员工
{
公共字典MyDictionary=新字典();
}
否则,类字段将具有默认值,对于引用类型,默认值为null
。请参阅:
字段的初始值,无论是静态字段还是静态字段
实例字段,是该字段的默认值(第5.2节)
类型
您刚刚声明了
词典,但尚未初始化它。您可以在声明时或在构造函数中进行初始化
public class Employee
{
public Dictionary<key, MyClass> MyDictionary = new Dictionary<key, MyClass>();
}
您刚刚声明了词典,但尚未初始化它。您可以在声明时或在构造函数中进行初始化
public class Employee
{
public Dictionary<key, MyClass> MyDictionary = new Dictionary<key, MyClass>();
}
您刚刚声明了词典,但尚未初始化它。您可以在声明时或在构造函数中进行初始化
public class Employee
{
public Dictionary<key, MyClass> MyDictionary = new Dictionary<key, MyClass>();
}
您刚刚声明了词典,但尚未初始化它。您可以在声明时或在构造函数中进行初始化
public class Employee
{
public Dictionary<key, MyClass> MyDictionary = new Dictionary<key, MyClass>();
}
你需要初始化你在哪里创建你的employeeObject.MyDictionary
?你能显示代码吗?我看不出你实际上在哪里创建字典。@Sajeetharan请更具体一点并举个例子。你需要初始化你在哪里创建你的employeeObject.MyDictionary
?你能显示一下吗请输入t代码?我看不出您实际上在哪里创建词典。@Sajeetharan请更具体一点,并举个例子。您需要初始化您在哪里创建employeeObject。MyDictionary
?请显示代码,好吗?我看不到您实际上在哪里创建词典。@Sajeetharan请更具体一点ic和一个例子。你需要初始化你在哪里创建你的employeeObject。MyDictionary
?你能展示一下代码吗?我看不出你实际上在哪里创建字典。@Sajeetharan请更具体一点,举个例子。根据问题中的描述,OP已经意识到了这一点,并希望出于某种原因,我懒散地创建了字典。@O.R.Mapper我后来添加了“null”检查,因为我看到它在null上崩溃,但仍然没有修复它,所以我将问题发布到了网站上。因此我添加了null检查:)–@O.R.Mapper,OP没有在其他部分实例化字典,他/她正在创建一个MyClass
的对象,但是字典仍然是null
@Habib:我看到了。这就是为什么在我看来,你的答案现在是更好的答案,因为它实际上解决了问题(字典实际上没有初始化),而不是解释OP已经知道的东西->+1。根据问题中的描述,OP已经意识到了这一点,出于某种原因,我想懒洋洋地创建字典。@O.R.Mapper我后来添加了“null”检查,因为我看到它在null上崩溃,但仍然没有修复它,所以我将问题发布到了网站上。这就是我添加空检查的方式:)–@O.R.Mapper,OP没有在else部分实例化字典,他/她正在创建MyClass
的对象,但是字典仍然是null
@Habib:我看到了。这就是为什么在我看来,你的答案现在是更好的答案,因为它实际上解决了问题(字典实际上没有初始化),而不是解释OP已经知道的东西->+1。根据问题中的描述,OP已经意识到了这一点,出于某种原因,我想懒洋洋地创建字典。@O.R.Mapper我后来添加了“null”检查,因为我看到它在null上崩溃,但仍然没有修复它,所以我将问题发布到了网站上。这就是我添加空检查的方式:)–@O.R.Mapper,OP没有在else部分实例化字典,他/她正在创建MyClass
的对象,但是字典仍然是null
@Habib:我看到了。这就是为什么现在你的答案更好的原因