У меня есть функция вроде этого:Ошибка при вызове функции с int? в качестве входных данных
public int? calculateContractPrice(int? comid)
{
int? sum = 0;
var q = from i in dbconnect.tblMaterialGroups
where i.tenderId == _tenderId
select i.id;
foreach (int i in q)
{
var q2 = from g in dbconnect.tblMaterialTenderAnnouncePrices
where g.MaterialGroupId == i && g.companyId == comid
select g;
sum = q2.First().amount*q2.First().price + q2.First().amount*q2.First().PriceForElse + sum;
}
return sum+(from i in dbconnect.tblContracts where i.tender==_tenderId select i.tax).First();
}
Так что, когда я называю эту функцию:
int coid = Convert.ToInt32(gvcompanyInTender.CurrentRow.Cells[0].Value.ToString());
objco.Tax =int.Parse((objco.calculateContractPrice(coid)) * (6/100));
Я получил эту ошибку: Я думаю, что проблема в том, что в междунар? что я определил, но я не знаю, как я могу это решить.
Error 19 The best overloaded method match for 'int.Parse(string)' has some invalid arguments
objco.tax является атрибутом класса, и это целое – SSC
Хорошо, но вам не нужна 'Int. Parse', чтобы преобразовать 'int' в' int'. Это уже «int». – JLRishe
он работает .thanks – SSC