为了确保GetHashCode()方法为对象返回唯一值,我应该遵循哪些规则?
例如:
我是C#的初学者.
我有一份清单
private List<String> mXMLProdcutsIDs = new List<String>();
Run Code Online (Sandbox Code Playgroud)
mXMLProductsIDs就像
{"megapack", "levelpack","bikepack"}.
Run Code Online (Sandbox Code Playgroud)
有时我会得到another list which is in random order,{"megapack", "levelpack","bikepack"}
我想根据mXMLProductIDs列表顺序使用该列表
这是我的疑问:
rows.GroupBy(row => new TaxGroupObject
{
EnvelopeID = row.Field<int>("EnvelopeID"),
PolicyNumber = row.Field<string>("PolicyNumber"),
TZ = row.Field<string>("TZ")
})
.Select(row =>
{
int i;
if (row.Key.EnvelopeID == 5713 && row.Key.PolicyNumber == "50002617" && row.Key.TZ == "50002617")
i=1+1;
var newRow = structure.NewRow();
newRow["PolicyNumber"]=row.Key.PolicyNumber;
newRow["TZ"]=row.Key.TZ;
newRow["CreditPremiaTaxParagraph45"] = row.Sum(x => decimal.Parse(x["CreditPremiaTaxParagraph45"].ToString()));
newRow["WorklossTax"] = row.Sum(x => decimal.Parse(x["WorklossTax"].ToString()));
newRow["MiscTax"] = row.Sum(x => decimal.Parse(x["MiscTax"].ToString()));
newRow["EnvelopeID"] = row.Key.EnvelopeID;
return newRow;
}
);
internal class TaxGroupObject
{
public long? EnvelopeID{ get; set; }
public string PolicyNumber { get; set; }
public …Run Code Online (Sandbox Code Playgroud) 我似乎找不到一种方法不将对象添加到我的列表中是相同的,我试过.包含但我只是没有让它工作,任何其他解决方法?我相信我必须使用if语句,并在else中创建对象,但我如何在if语句中做?
public Form1()
{
InitializeComponent();
}
private const string filnamn = "kontakter.bin";
Kontakter kontakt;
private List<Kontakter> kontakter;
private void buttonLagra_Click(object sender, EventArgs e)
{
Kontakter nyKontakt = new Kontakter();
{
nyKontakt.Telefonnr = textBoxTelefonnr.Text;
nyKontakt.Namn = textBoxNamn.Text;
}
kontakter.Add(nyKontakt);
listBox1.DataSource = null;
listBox1.DataSource = kontakter;
BinaryFormatter bf = new BinaryFormatter();
FileStream fs = new FileStream(filnamn, FileMode.OpenOrCreate, FileAccess.Write);
bf.Serialize(fs, kontakter);
fs.Close();
}
Run Code Online (Sandbox Code Playgroud)