が私の問題です。.Equalsまたは== falseを返します。常に
私は全く同じ内容で2つのデータファイルを提出していますが、理由は分かりません。私はその列を比較すると==
でも.Equals
も真を返すことができません。
public void btn_Source_Click(object sender, EventArgs e)
{
FichierSource.OuvertureSource();
FichierSource.OuvertureBanque(comboBox1);
int i = 0;
foreach (DataColumn colonne in FichierSource.DTSource.Columns)
{
if (colonne == FichierSource.DTBanque.Columns[i])
MessageBox.Show("Same");
else
MessageBox.Show("Not the same");
i++;
}
}
のDataTableの両方が、2つの異なるCSV
でフィールドですが、両方CSV
は、このコンテンツを持っている: Nom|Prenom|Date|numero Jack|Jared|17.04.17|1626010548999 Daphne|Orli|08.02.18|1660101461799 Dphne|Thane|04.06.18|1635062807599 Odessa|Gannon|08.02.18|1626032546899 Charles|Jena|22.11.16|1626040845399
私は同じ問題の多くを赤と私は==の違いを理解し考えて、 。これらの2人のどちらも真実を返さないが、なぜなら?
EDIT:ここ は、両方の変数の値を持つスクリーンショットenter image description here
どちらも異なるインスタンスなので、演算子がそれらのオブジェクトのためにオーバーロードされるので、文字列リテラルまたは整数などのために働くでしょう。 'DataColumn'の場合、インスタンスが同じ場合にのみtrueを返します。 2つのオブジェクトをcomapreするメソッドを書く必要があります – praty
==および/またはEqualsがオブジェクトインスタンスで行うことを理解していますか? – mikelegg
最初にequalsが動作する方法を読んでください。 –