/ / DataColumn DataType int und long - c #, Datentabelle

DataColumn DataType int und long - c #, Datentabelle

Ist es möglich, eine DataColumn in einer DataTable zu haben, die int und long Werte enthält? Es sollte einen int-Wert zurückgeben, wenn ein gültiger int-Wert zurückgegeben wird, andernfalls sollte ein langer Wert zurückgegeben werden.

Für etwas Hintergrund, warum ich das erreichen will, ichhaben ein Produkt veröffentlicht, das die DataColumn des Typs int erstellt, aber es sollte lange von Anfang an sein. Jetzt möchte ich nicht bestehende Projekte brechen, die den Wert explizit in int umwandeln, aber ich möchte lange Werte in der Spalte zulassen.

Gibt es ein Ereignis, das ich auf der DataTable abonnieren kann, um den Wert in int zu konvertieren?

Der folgende Code sollte korrekt ausgeführt werden.

        DataTable dataTable = new DataTable();
dataTable.Columns.Add("IntAndLong", typeof(long));

DataRow intRow = dataTable.NewRow();
intRow[0] = 123;
dataTable.Rows.Add(intRow);

DataRow longRow = dataTable.NewRow();
longRow[0] = 3000000000;
dataTable.Rows.Add(longRow);

long longValue = (long)dataTable.Rows[1][0];
int intValue = (int)dataTable.Rows[0][0];

Antworten:

1 für die Antwort № 1

Ich würde vorschlagen, den Datensummenwert zu sammelnÜberprüfen Sie in einer langen type -Variable, ob ihr Wert kleiner als int.MaxValue und größer als int.MinValue ist, und wandeln Sie sie dann in eine int-Variable um, wenn Sie sie dort benötigen.