但我这样实现IComparable 也分不出组来啊??? :
class tmpKey : IComparable<tmpKey>
{
public int _Flag;
public string _YWB_HXT;
public string _YWB_YWID;
public string _YWB_DJID; public int CompareTo(tmpKey _key)
{
if (_Flag.CompareTo(_key._Flag) != 0)
return _Flag.CompareTo(_key._Flag);
else if (_YWB_HXT.CompareTo(_key._YWB_HXT) != 0)
return _YWB_HXT.CompareTo(_key._YWB_HXT);
else if (_YWB_YWID.CompareTo(_key._YWB_YWID) != 0)
return _YWB_YWID.CompareTo(_key._YWB_YWID);
else
return _YWB_DJID.CompareTo(_key._YWB_DJID);
}
}
var zq =
from p in sGERPDataSet.CWTMP
group p by new tmpKey { _Flag = p.Flag, _YWB_HXT = p.YWB_HXT, _YWB_YWID = p.YWB_YWID, _YWB_DJID=p.YWB_DJID } into g
orderby g.Key
select
new
{
g.Key,
NumProducts = g.Count(),
g
};
foreach (var _v in zq)
{
MessageBox.Show(_v.Key._Flag + _v.Key._YWB_HXT + _v.Key._YWB_YWID + _v.Key._YWB_DJID); MessageBox.Show(_v.NumProducts.ToString()); foreach (var _vv in _v.g)
{
MessageBox.Show(_vv.Flag.ToString() + _vv.YWB_HXT.ToString());
} }
class tmpKey : IComparable<tmpKey>
{
public int _Flag;
public string _YWB_HXT;
public string _YWB_YWID;
public string _YWB_DJID; public int CompareTo(tmpKey _key)
{
if (_Flag.CompareTo(_key._Flag) != 0)
return _Flag.CompareTo(_key._Flag);
else if (_YWB_HXT.CompareTo(_key._YWB_HXT) != 0)
return _YWB_HXT.CompareTo(_key._YWB_HXT);
else if (_YWB_YWID.CompareTo(_key._YWB_YWID) != 0)
return _YWB_YWID.CompareTo(_key._YWB_YWID);
else
return _YWB_DJID.CompareTo(_key._YWB_DJID);
}
}
var zq =
from p in sGERPDataSet.CWTMP
group p by new tmpKey { _Flag = p.Flag, _YWB_HXT = p.YWB_HXT, _YWB_YWID = p.YWB_YWID, _YWB_DJID=p.YWB_DJID } into g
orderby g.Key
select
new
{
g.Key,
NumProducts = g.Count(),
g
};
foreach (var _v in zq)
{
MessageBox.Show(_v.Key._Flag + _v.Key._YWB_HXT + _v.Key._YWB_YWID + _v.Key._YWB_DJID); MessageBox.Show(_v.NumProducts.ToString()); foreach (var _vv in _v.g)
{
MessageBox.Show(_vv.Flag.ToString() + _vv.YWB_HXT.ToString());
} }
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货