C# 集合添加结构体和添加对象的区别
StructStationInfo{publicdoubleLon{get;set;}publicdoubleLat{get;set;}}ClassStation{pub...
Struct StationInfo
{
public double Lon{get;set;}
public double Lat{get;set;}
}
Class Station
{
public double Lon{get;set;}
public double Lat{get;set;}
}
var result1=new List<StationInfo>();
var result2=new List<Station>();
var info1=new StationInfo();
var info2=new Staion();
for(int i=0;i<100;i++)
{
info1.Lon=i;
info1.Lat=i;
info2.Lon=i;
info2.Lat=i;
result1.add(info1);
result2.add(info2);
}
result.add方法添加一个对象时,添加的是对象的引用?添加结构体时 添加的是结构体实体值? 展开
{
public double Lon{get;set;}
public double Lat{get;set;}
}
Class Station
{
public double Lon{get;set;}
public double Lat{get;set;}
}
var result1=new List<StationInfo>();
var result2=new List<Station>();
var info1=new StationInfo();
var info2=new Staion();
for(int i=0;i<100;i++)
{
info1.Lon=i;
info1.Lat=i;
info2.Lon=i;
info2.Lat=i;
result1.add(info1);
result2.add(info2);
}
result.add方法添加一个对象时,添加的是对象的引用?添加结构体时 添加的是结构体实体值? 展开
1个回答
展开全部
对的。
class Program
{
static void Main(string[] args)
{
var resultstru = new List<StationInfo>();
var resultcla = new List<Station>();
var stru = new StationInfo();
var cla = new Station();
stru.Lon = 1;
stru.Lat = 2;
cla.Lon = 3;
cla.Lat = 4;
resultstru.Add(stru);
resultcla.Add(cla);
Console.WriteLine(resultstru[0].Lon);//1
Console.WriteLine(resultcla[0].Lon);//3
stru.Lon = 5;//不再影响list内
cla.Lon = 6;
Console.WriteLine(resultstru[0].Lon);//1
Console.WriteLine(resultcla[0].Lon);//6
Console.ReadLine();
}
}
struct StationInfo
{
public double Lon { get; set; }
public double Lat { get; set; }
}
class Station
{
public double Lon { get; set; }
public double Lat { get; set; }
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询