代码附上,我是主要目的是将JsonData对象储存在List集合中,想用Linq查询查出不重复的数据集合,并且还可以查询多个字段相等或者为空时候的集合,但是发现用Linq连重复都查不了,请问是哪里有问题?代码该怎么写?ListJson初次接触。 ///
/// 将实体类转换成Json格式
/// <param name="data">批量新增的范围内的Excel数据</param>
///
public List<JsonData> ObjectToJsonData(object data, BackgroundWorker bgw = null)
{
try
{
object[,] newdata = (object[,])data;
int max = newdata.GetLength(0); int i = 1;
List<JsonData> json = new List<JsonData>();
for (i = 1; i < max; i++)
{
bgw.ReportProgress(i);
int k = 1;
AddNewValue newvalue = new AddNewValue();
for (k = 1; k <= 7; k++)
{
switch (k)
{
case 1:
newvalue.CampingName = newdata[i, 1] + "";
break;
case 2:
newvalue.UnitName = newdata[i, 2] + "";
break;
case 3:
newvalue.KeyWordsName = newdata[i, 3] + "";
break;
case 4:
newvalue.matchType = newdata[i, 4] + "";
break;
case 5:
newvalue.CurrentPrice = newdata[i, 5] + "";
break;
case 6:
newvalue.UrlLink = newdata[i, 6] + "";
break;
case 7:
newvalue.Status = newdata[i, 7] + "";
break; }
}
string json_newvalue = JsonMapper.ToJson(newvalue);
json.Add(json_newvalue);
}
return json;
}
catch (Exception ex)
{
AsynLogManager.Trace(ex);
return null;
}
//输出:{"Name":"www.87cool.com","Age":3,"Birthday":"07/17/2007 00:00:00"}
}
/// <summary>
/// 批量新增数据验证
/// </summary>
/// <param name="NewData">新增的数据整合后的对象</param>
/// <param name="bgw">进程</param>
/// <returns></returns>
public bool ValidateMoreNewData(List<JsonData> NewData,BackgroundWorker bgw=null)
{
//JToken take=NewData.SelectToken(
//
//NewData.SelectToken("AddNewValue").Select(p => p["CampingName"]).Distinct(); List<JsonData> dt = (from t in NewData select t).Distinct().ToList();//过滤不了重复的
//ReadJson(dt);
return true;
}
/// 将实体类转换成Json格式
/// <param name="data">批量新增的范围内的Excel数据</param>
///
public List<JsonData> ObjectToJsonData(object data, BackgroundWorker bgw = null)
{
try
{
object[,] newdata = (object[,])data;
int max = newdata.GetLength(0); int i = 1;
List<JsonData> json = new List<JsonData>();
for (i = 1; i < max; i++)
{
bgw.ReportProgress(i);
int k = 1;
AddNewValue newvalue = new AddNewValue();
for (k = 1; k <= 7; k++)
{
switch (k)
{
case 1:
newvalue.CampingName = newdata[i, 1] + "";
break;
case 2:
newvalue.UnitName = newdata[i, 2] + "";
break;
case 3:
newvalue.KeyWordsName = newdata[i, 3] + "";
break;
case 4:
newvalue.matchType = newdata[i, 4] + "";
break;
case 5:
newvalue.CurrentPrice = newdata[i, 5] + "";
break;
case 6:
newvalue.UrlLink = newdata[i, 6] + "";
break;
case 7:
newvalue.Status = newdata[i, 7] + "";
break; }
}
string json_newvalue = JsonMapper.ToJson(newvalue);
json.Add(json_newvalue);
}
return json;
}
catch (Exception ex)
{
AsynLogManager.Trace(ex);
return null;
}
//输出:{"Name":"www.87cool.com","Age":3,"Birthday":"07/17/2007 00:00:00"}
}
/// <summary>
/// 批量新增数据验证
/// </summary>
/// <param name="NewData">新增的数据整合后的对象</param>
/// <param name="bgw">进程</param>
/// <returns></returns>
public bool ValidateMoreNewData(List<JsonData> NewData,BackgroundWorker bgw=null)
{
//JToken take=NewData.SelectToken(
//
//NewData.SelectToken("AddNewValue").Select(p => p["CampingName"]).Distinct(); List<JsonData> dt = (from t in NewData select t).Distinct().ToList();//过滤不了重复的
//ReadJson(dt);
return true;
}
IDictionary来接 操作方便很多
IDictionary来接 操作方便很多
试试