types valeurs et type référence +CLR

dib.fred Messages postés 14 Date d'inscription jeudi 13 novembre 2003 Statut Membre Dernière intervention 15 mars 2005 - 23 août 2004 à 18:09
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 24 août 2004 à 01:07
dans le cadre de mon cours de vb on me demande ceci:

1
Faites une comparaison entre les variables de types valeurs et les variables de type référence?

2
quels sont les composants du CLR ?

3 réponses

cs_Crazyht Messages postés 1522 Date d'inscription mardi 18 décembre 2001 Statut Membre Dernière intervention 21 août 2010 8
23 août 2004 à 18:28
Pour le 1 :

Type Valeur est stocké dans la pile alors qu'un type reference est stocké sur le Tas, la pile est plus rapide d'accès, mais aussi plus reduite en stockage

Pour le 2 j'essaye de revenir + tard j'ai pas assez de temps. mais un conseil achete un bouquin :)

A++

:-p Crazyht :)
MVP Visual C#.NET

[Admin Codes-Sources]
[Membre Developer-Association]
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
24 août 2004 à 00:40
ByRef et ByVal permettent d'indiquer comment passer des arguments à une procédure (Sub ou Function)
ByRef implique qu'une référence à l'élément passé à la procédure est conservée, et que cet élément peut être modifié par la fonction. ByRef représente l'option par défaut et peut donc être implicite (en VB6 oui mais en VB.NET c'est le contraire ?)
ByVal signifie au contraire que lors de la passation d'un argument, celui-ci est évalué, et que seule sa valeur est prise en compte. Il en résulte que l'élément passé à la procédure ne peut être modifié par celle-ci.
Passer un argument par valeur nécessite plus de mémoire que de passer un argument par référence, car une copie de la variable est créée.
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
24 août 2004 à 01:07
La Common Language Runtime (CLR) est un environnement d'exécution sécurisé et robuste qui supporte du code écrit dans plusieurs langages différents (C++, VB, C#, Pascal, Cobol ...) et simplifie le développement, la gestion et le déploiement d'applications. On peut la comparer à la Java Virtual Machine (JVM) ou au Runtime Visual Basic 6 (msvbvm60.dll).
La CLR est constituée d'un ensemble de services standards (Modèle de programmation orientée objet, sécurité, ramasse miettes) dont chaque programme .NET peut tirer profit.
Les services du CLR:
Le rôle des différents objets implémentés par le CLR est naturellement d'offrir des services, que nous devons classifier en familles correspondant aux différents espaces de noms.
Remarque : Sans peut être aller jusqu'à la notion de service, il faut également savoir que le CLR implémente une bibliothèque de types de données commune à tous les langages compatibles .NET. Compte tenu du fait que toutes les classes du CLR sont elles aussi communes à ces mêmes langages, cette remarque signifie que deux composants distincts écrits avec 2 langages .NET différents seront compatibles, c'est-à-dire mutuellement accessibles en toute transparence vis à vis du langage utilisé.
Le CLR est chargé d'exécuter vos codes (Code Manager), de gérer et d'optimiser la gestion de la mémoire(Garbage Collector), mais aussi de gérer la sécurité et les autorisations d'exécutions (Security Engine).

Le Common Language Runtime (CLR):
? Une nouvelle notion de Type
- Le CTS (Common Type System)
- Le CLS (Common Language Specification)
- La compilation en deux étapes
? Les services du CLR
- La gestion des exceptions
- La gestion de la mémoire
- La réflexion
- Les assemblages, les threads et les domaines d'application (AppDomain)
- La distribution (.Net Remoting)
- La sécurité

Le runtime comprend : une intégration des langages, des composants auto-descriptifs, un déploiement et une gestion des versions simplifiés, ainsi que des services de sécurité intégrés. Il utilise un nouveau système de types commun capable d'exprimer la sémantique de la plupart des langages de programmation modernes. Ce système définit un ensemble standard de types et de règles pour créer de nouveaux types. Les compilateurs et interpréteurs utilisent alors les services du runtime pour définir des types, gérer des objets et effectuer des appels de méthodes au lieu d'utiliser leurs méthodes spécifiques.
L 'objectif principal de ce système de types est de permettre une intégration avancée entre les langages. Cela permet à un code écrit dans un langage d'hériter de l'implémentation de classes écrites dans d'autres, ou encore de lever des exceptions dans un langage et de les intercepter dans du code écrit dans un autre langage. Ainsi, le développeur n'est plus limité aux bibliothèques spécifiquement développées pour le langage de programmation qu'il utilise.
0
Rejoignez-nous