AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Spring4D: Nullables

Ein Thema von Der schöne Günther · begonnen am 13. Nov 2015 · letzter Beitrag vom 10. Aug 2017
 
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Spring4D: Nullables

  Alt 16. Nov 2015, 10:49
Ein Nullable<T> soll eben nicht alles beinhalten, sondern typsicher einen Wert vom Typ T oder eben nichts.
Ach so. Und es geht darum, das man einem typsicheren Nullable<Integer> auch einen String zuweisen kann, ohne das es knallt (also eher 'ein bisschen typsicher'). Und das der Wert dann 0 ist.

Na ja. Ein etwas besseres 'VarToInt' (aka convert) tut's ja auch. Also: Ich weise einem Variant zu, was ich will und erst beim Auslesen interpretiere ich, was da drin steht. Hmm. Vom Verhalten sehe ich jetzt nicht so den Unterschied zu normalen Variants, aber egal.
Nach meinem Verständnis (und auch meiner Implementierung) kann einem Nullable<Integer> eben kein string zugewiesen werden. Mein Nullable<T> hat auch keinen impliziten Cast von einem Variant , denn nach meinem Verständnis soll ein Nullable<T> eben nicht alles beinhalten, sondern typsicher den angegebenen Typen T oder eben nichts.

Genau das steht auch schon in meinen Beiträgen hier ...

Und wie immer ist dieses Konstrukt einfach nur zum Vereinfachen gedacht:
Delphi-Quellcode:
var
  a,b,c : Nullable<Integer>;
  d : Integer;
begin
  a := Nullable.Null;
  b := 42;
  c := a+b; // c => Null
  d := a.ValueOrDefault() + b.ValueOrDefault(); // d => 42
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (16. Nov 2015 um 10:54 Uhr)
  Mit Zitat antworten Zitat
 

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz