我的前面的消息是不正確的,不要對其他帖子的答案。方法'First'或'FirstOrDefault'沒有給出正確的數據
這是我遇到問題的部分代碼。
Libelle_TOT和Groupe_Alerte類型爲VARCHAR
foreach (var donneesDUMP in don)
{
if (cap.Any(c => c.PMRQTOTM == donneesDUMP.PMRQTOTM))
{
if(!cap.Any(c => c.Libelle_TOT == donneesDUMP.Libelle_TOT))
{
cnn.Resultat.Add(new Resultat
{
NomTable = "CapitalisationActuelle",
Groupe_D_alerte = donneesDUMP.Groupe_Alerte,
NomChamp = "PMRQTOTM",
TOTMPMRQ = donneesDUMP.PMRQTOTM,
SiModifie = "Libelle TOT",
LibelléTOTAvant = cap.Select(c => c.Libelle_TOT).FirstOrDefault(),
//LibelléTOTAvant = cap.Any(c => !string.IsNullOrEmpty(c.Libelle_TOT))
//? cap.Select(x => x.Libelle_TOT).First(l => !string.IsNullOrEmpty(l))
//: " ",
LibelléTOTApres = donneesDUMP.Libelle_TOT,
Remarque = "Modifie"
});
}
兩個(50)
LibelléTOTAvant = cap.Select(c => c.Libelle_TOT).FirstOrDefault(),
和
LibelléTOTAvant = cap.Any(c => !string.IsNullOrEmpty(c.Libelle_TOT))
? cap.Select(x => x.Libelle_TOT).First(l => !string.IsNullOrEmpty(l))
: " ",
的作品,我也沒有任何建築物的錯誤。但每次我遇到一個問題時,可能都會使用.First()和.FirstOrDefault()。它總是寫第一個Libelle_TOT,而不是好的。
這是我所得到的一個例子: http://zupimages.net/viewer.php?id=14/35/6ri4.png
的LibelléTOTAvant有時具有相同的值(TEST5),因爲TEST5是表capitalisationActuelle的第一線,但它是不正確的值。例如,對於LibelléTOTApres= QFD,我應該得到TEST3而不是TEST5等
我不完全確定你期望它應該做什麼?什麼是「好的」?你說你自己「總是寫第一個......」 - 這正是First/FirstOrDefault應該是什麼名字。 – sondergard 2014-08-27 11:25:46
[C#No Overload for method'ToString'需要1個參數](http://stackoverflow.com/questions/25520919/c-sharp-no-overload-for-method-tostring-takes-1-argument) – 2014-08-27 11:25:48
@Slava你真的回答了Slava的其他問題。但現在我的問題是不同的。它的工作原理,但沒有給出正確的答案。 – Kraenys 2014-08-27 11:28:34