Posts

Posts uit januari, 2010 tonen

Hoofdstuk 1 - Les 4

Implicit conversion is als de doel variabele de complete inhoud kan bevatten van de variabele waarvan gecast wordt: int i = 20; double d = i; Dit wordt ook widening conversion genoemd. Als de doel variabele de inhoud van de variabele niet geheel kan bevatten wordt dit narrowing conversion genoemd: double d = 100.50; int i = d; Deze manier van converteren kan worden opgelost met behulp van de volgende manieren: System.Convert() type.ToString() type.Parse type.TryParse() Boxing en unboxing Boxing converteert een value type naar een reference type en unboxing converteert een reference type naar een value type. Boxing: int = 123; object 0 = (object)i; Unboxing: object o = 123; i = (int)o; Boxing en unboxing zorgen voor overhead dus probeer het te vermijden. Boxing treedt ook op wanneer virtual methods worden aangeroepen van value types, zoals ToString(). Tips om boxing te voorkomen: Implementeer type specifieke versies (overloads) voor een method die meerdere verschillende value types acc

Hoofdstuk 1 - Les 3

Interfaces bepalen hoe een class eruit komt te zijn. Er kan worden vastgelegd welke methods en properties de class minimaal moet bevatten. Veelgebruikte interfaces zijn: IComparable Wordt geïmplementeerd bij types waarvan de waarden kunnen worden geordend IDisposable Definieert methods voor disposing handmatig. Deze interface is belangrijk voor grote objecten die veel resources (geheugen) in gebruik nemen. IConvertible Maakt het mogelijk om een class te converteren naar een basis type, zoals boolean, byte, double of string ICloneable Ondersteunt het kopiëren van een object IEquatable Voor het vergelijken van een class op gelijkheid. Als je deze interface zou implementeren kan je zeggen if (a == c) IFormattable Staat het toe om de waarde van een object te converteren naar een specifiek geformatteerde string Attributen Attributen beschrijven de wijze waarop een type, method of property behandeld moet worden. Zo kun je bijvoorbeeld [Serializable] boven aan class zetten om aan te geven dat

Hoofdstuk 1 - Les 2

Reference types Reference types slaan het adres (de referentie) van de data op in de stack. De data waar het adres naar refereert is opgeslagen in een gebied in het geheugen, genaamd de heap. Runtime wordt het geheugen beheert door de garabage collector. Alles wat niet erft van System.ValueType is een reference type. Het .NET Framwork kent zo'n 2500 ingebouwde reference types. Zowel reference types als value types erven van object. Strings Strings van het type System.String zijn niet aan te passen. Dat wil zeggen dat met onderstaande code 3 strings worden aangemaakt, waarvan de eerste twee worden opgeruimd door de garbage collector en de derde een referentie bevat naar de inhoud. string s = "hello"; s += " world"; s+= "!"; Voor performance doeleinden wordt aangeraden om gebruikte maken van de volgende manieren: Gebruik de methoden Concat, Join of Format van de String class om meerdere elementen samen te voegen in een statement. Gebruik de StringBuilder

Hoofdstuk 1 - Les 1

Int en boolean types zijn value types en worden opgeslagen op de stack. Er zijn drie soorten value types: Built-in types (int, boolean) User-defined types (structs) Enumerations Value types erven van Syste.ValueType. Een value type kan ook null bevatten. Gebruik hiervoor een van de volgende declaraties: Nullable<bool > b = null; bool? b = null; Beide declaraties geven hetzelfde resultaat.

SQL Veld updaten direct na een ALTER commando

Als een veld moet worden toegevoegd aan een tabel wordt het ALTER statement gebruikt: ALTER tabel ADD veldnaam type voorbeeld: ALTER tbl_Persoon ADD leeftijd int Soms is het nodig om direct na het aanmaken van het veld een waarde in te voegen. Je zou dan denken, voeg een UPDATE statement uit na de ALTER: ALTER tbl_Persoon ADD leeftijd int UPDATE tbl_Persoon SET leeftijd = 18 Maar helaas, dit werkt niet. Waarom dit niet werkt weet ik niet precies (nu geen tijd om het verder uit te zoeken). Wat ik wel weet is de oplossing. Deze zijn er eigenlijk in twee vormen. De eerste manier is door het UPDATE statement uit te voeren in het Execute statement: ALTER tbl_Persoon ADD leeftijd int EXECUTE('UPDATE tbl_Persoon SET leeftijd = 18') De tweede manier (welke in mijn ogen netter is) is de volgende: ALTER tbl_Persoon ADD leeftijd int NOT NULL default 18 Deze manier kan je dus enkel gebruiken als je een veld toevoegt waarvan de waarden niet NULL mogen zijn.

[SQL] Tabel opnieuw laten tellen met autonummering

Omdat tijdens het testen veel dummy data in de database komt te zitten, is het wel eens lekker om die tabel te legen en dan opnieuw te beginnen met autonummering. Dit kan eenvoudig met een SQL statement: DELETE FROM naam_tabel DBCC CHECKIDENT ("naam_tabel", reseed, 0) Bij het DBCC commando kan je van de 0 ook een ander willekeurig getal plaatsen. Dit is de start vanaf welk getal hij opnieuw moet beginnen te tellen. bron: http://blog.sqlauthority.com/2007/03/15/sql-server-dbcc-reseed-table-identity-value-reset-table-identity/

Binair tellen

Hoe zat dat ook alweer. Binair tellen. Even om het geheugen op te frissen. Het binaire talstelsel bestaan uit twee getallen, namelijk 0 en 1. Een bit is een 0 of 1. 8 bits wordt een byte genoemd. Om een binair getal om te zetten naar het decimale talstelsel kan van de volgende manier gebruik gemaakt worden. Je telt hier van rechts naar links. Stel je heb het volgende binaire getal: 0011. Dit is in het decimale talstelsel het getal 3. Hoe kom je hier nu aan? Wel als volgt. Met de nullen wordt niks gedaan. Je begint met het zoeken naar de positie van de eerste 1. In het voorbeeld 0011 staat de eerste 1 op de eerste positie (je begint rechts met tellen). Vervolgens zoek je naar de volgende positite van een 1. In dit geval is dat de tweede positie. Nu bereken je 2 tot de macht positie-1. Vervolgens tel je alle decimale getallen bij elkaar op en je heb de waarde in het decimale talstelsel. Let wel op: als er op de eerste positie een 1 staat, is dat ook een 1 in het decimale talstelsel. Voor

[HTML] favicon gebruiken

Voor mijn project wilde ik graag zo'n mooi icoontje in de adresbalk. Om dit te bewerkstelligen hoef je enkel 1 regeltje in de head-tag te plaatsen van je site: <HTML> <HEAD> <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/> </HEAD> <BODY> Hier de inhoud van de site </BODY> </HTML> Punt waar wel rekening mee moet worden gehouden is dat het .ico bestand de afmetingen 16x16 moet hebben en 8bit. Een site waar je handig favicons kunt creeeren is: http://www.favicon.cc/