Programmeren in C Sharp: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
k + {{GFDL-oud}}
Jbib (overleg | bijdragen)
Geen bewerkingssamenvatting
Regel 10:
==Vergelijk met Java en C++==
 
#'''Overerving''': een classe kan maar van 1 andere klasse overerven maar kan wel meerdere '''interfaces''' '''implementeren'''. Dit is net zoals bij Java, maar een verandering tovt.o.v. C++ waar men '''multiple inheritance''' kent en tevens geen '''interfaces'''.
#'''Arrays''' worden ArrayLists
#'''bool''': er is geen conversie tussen bool en int zoals bij C++. Conversies moeten over het algemeen moeten opgelost worden zoals bij javaJava door '''Wrapperwrapper Classesclasses''', dit zijn classes die op zich het type bool of int of ... bevatten maar tevens '''methods''' die de conversie'sconversies verzorgen (is veiliger dan het '''typecasten''' bij C/C++).
#'''long''': Dit type is nu 64 bit tovt.o.v. 32 bit bij C++.
#'''Struct''': Dit is een '''value type''' terwijl een class een '''reference type''' is. Dit is een verschil met C++ waar een struct eigenlijk een '''public class''' voorstelt (een class waarvan alle parameters public zijn). Het verschil met javaJava is eenvoudiger nl: javaJava kent namelijk geen structs.
#'''delegate''': Dit zijn type-safe function pointers.
#'''base''' en '''override''':
#'''preprocessor directive''': worden nu gebruikt voor conditionele compilaties; want er worden geen '''header files''' gebruikt in C#. zieZie ook '''using'''.
#'''operators''': Hier bestaan extra operators tovt.o.v. C++, nlnamelijk de '''is''' en '''typeof''', soortgelijke bestaan in javaJava.
#'''Main''': word nu op een java Java-stijl gebruikt. Zoals de algemene structuur van het programma.
#'''pointers''': '''ref''' en '''out''' worden nu gebruikt om parameters '''by reference''' door te geven. '''Unsafe''' wordt gebruikt om expliciet pointers door te geven.
#'''strings''': in tegenstelling tot C++ waar er wel duizend en een soorten bestaan gebruikt C# de overkoepelende '''String''' cfr. java.
#'''foreach, in''': laat toe om door '''array'sarrays''' en '''collectie'scollecties''' te itereren. Dit laat toe om dezen een pakdeze makkelijker te doorlopen dan in C++ of javaJava waar men '''for'''-lussen nodig had en het einde ervan moest weten/zoeken van dezen.
#'''using''':wordt gebruikt om naar andere namespaces te refereren zonder dat men telkens de volledige naam moet opgeven, cfr. javaJava (waar '''namespaces''' = '''packages''')
#'''Destructor''': net zoals bij javaJava is er '''automatic garbage collection''' die er voor zorgt dat men zich niks moet aan trekkenaantrekken van het opruimen van geheugen, dit in tegenstelling tot bij C++ (maar zou een van de redenen zijn waardoor C++ nog steeds een van de snelste en meest gebruikte programmeertalen is).
#'''Bit vs. Bytebyte code''': C# en javaJava worden beide naar byte-code gecompileerd in tegenstelling tot C++ die naar machinetaal wordt omgezet. Dit zorgt ervoor dat C++ niet op elk platform kan draaien maar wel dat het sneller werkt omdat het niet in '''runtime''' nog gecompileerd moet worden.
 
*[http://msdn.microsoft.com/library/en-us/cscon/html/vclrfcomparisonbetweenccsharp.aspx Een vergelijking tussen C# en C++] - Mocht deze niet te vinden zijn, dan komt dat omdat microsoftMicrosoft zijn site regelmatig verandert.
 
==Externe Linkslinks==
*[http://download.microsoft.com/download/8/1/6/81682478-4018-48fe-9e5e-f87a44af3db9/CSharp 2.0 Specification.doc De specificaties van C#]
*[http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cssample/html/vcorictutorialsamples.asp Pagina met tutorials van Microsoft]
*[http://msdn.microsoft.com/vstudio/express/visualcsharp/easytolearn/ C# -video's]
 
 
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.