读书人

LINQ ILIST 接口的有关问题重复数

发布时间: 2013-03-28 10:20:24 作者: rapoo

LINQ ILIST 接口的问题,重复数据。
本帖最后由 yangchunmarch 于 2013-03-26 09:48:31 编辑 IList<wnewslist> list2 = new List<wnewslist>(); //定义ilist
wnewslist wineNews = new wnewslist(); //这个是自己定义,有id,title
var db = news.db;
int channel1 = 1500;
string strr = "";
var db1 = db.Where(p => p.ChannelID == channel1).Skip(5).Take(5); // 查询数据库。
foreach (var p in db1)
{

wineNews.Title = "";
wineNews.ID = p.ID.ToString();
wineNews.Title = p.Title.ToString();
strr = p.Title;


list2.Add(wineNews);
Response.Write(wineNews.Title); //输出标题
Response.Write("<br/>");



}


string con1 = JsonConvert.SerializeObject(list2); //序列化,

Response.Write(con1); //输出最后的数据。


数据结果



啤酒麦香的中医道
你知道吗?啤酒“上头”有内因
好麦香从哪里来?
啤酒肚“冤案”
为何啤酒瓶总偏爱绿色?


[{"ID":"244645","Title":"为何啤酒瓶总偏爱绿色?"},{"ID":"244645","Title":"为何啤酒瓶总偏爱绿色?"},{"ID":"244645","Title":"为何啤酒瓶总偏爱绿色?"},{"ID":"244645","Title":"为何啤酒瓶总偏爱绿色?"},{"ID":"244645","Title":"为何啤酒瓶总偏爱绿色?"}]

为啥输出的最后的数据是重复的,而不像上边的那样,是不是ilist这个设置的不对。 linq,ilist
[解决办法]
wnewslist wineNews = new wnewslist(); //这个是自己定义,有id,title
上面这句放在循环里,每次都要新实例化

IList<wnewslist> list2 = new List<wnewslist>(); //定义ilist
var db = news.db;
int channel1 = 1500;
string strr = "";
var db1 = db.Where(p => p.ChannelID == channel1).Skip(5).Take(5); // 查询数据库。
foreach (var p in db1)
{
wnewslist wineNews = new wnewslist(); //这个是自己定义,有id,title




wineNews.Title = "";
wineNews.ID = p.ID.ToString();
wineNews.Title = p.Title.ToString();
strr = p.Title;


list2.Add(wineNews);
Response.Write(wineNews.Title); //输出标题
Response.Write("<br/>");



}

读书人网 >.NET

热点推荐