Techniques d'intégration multimédia, prof(s):
En C#, il est requis de spécifier le type d'une variable, d'un champ ou d'un paramètre de fonction dès sa déclaration.
On dit souvent de ce fait que c'est un langage au typage fort.
Cela implique que si une variable, par exemple, est déclarée comme étant d'un certain type (chaîne, entier, etc.) elle ne pourra se voir affecter des valeurs d'un autre type, et ce toute sa vie durant.
Par rapport à un typage dynamique dans lequel les variables peuvent changer de type aisément (comme en JavaScript par exemple), le typage fort (strict) offre des avantages importants:
Voici 2 façons d'incorporer les valeurs de variables dans une chaine
string prenom = "Bob";
int age = 20;
// --- concaténation "classique"
string phrase1 = "Mon nom est " + prenom + " et j'ai " + age + " ans.";
// --- interpolation de chaine
string phrase2 = $"Mon nom est {prenom} et j'ai {age} ans.";
Voici quelques opérations de conversions de base.
// Convertir un int en float ---------------------
int a = 2;
float b = (float) a; // b vaut 2.0f
// Convertir un float en int ---------------------
float a = 2.9f;
int b = (int) a; // b vaut 2
// Convertir un nombre en chaîne ---------------------
// --- exemple 1:
float a = 2.9f;
string b = a.ToString(); // b vaut "2.9"
// --- exemple 2:
float a = 1.77f;
string b = a+""; // b vaut "1.77"
// --- exemple 3:
float a = 6.1f;
string b = $"{a}"; // b vaut "6.1"
// Convertir une chaine en nombre ---------------------
// --- exemple 1:
string a = "245";
int b = int.Parse(a); // b vaut 245
// --- exemple 2:
string a = "245allo";
int b = int.Parse(a); // ERREUR: La chaine contient autre chose qu'un entier valide!
// --- exemple 3:
string a = "3.22";
float b = float.Parse(a); // b vaut 3.22f
Dans une fonction, on doit indiquer le type des paramètres à recevoir, et le type de la donnée retournée par la fonction.
void DiviserEntiers(int entier1, int entier2){
float division = entier1 / (float) entier2; // conversion en float requise ici!
string message = $"La division de {entier1} par {entier2} donne {division}";
Debug.Log(message);
}
Indiquer juste avant le nom de la fonction le type de donnée qu'elle retourne (si elle a un return).
Si la fonction ne retourne pas de donnée, on doit utiliser le mot-clé void pour le spécifier.
// Fonction sans return
private void AfficherAllo(){
Debug.Log("Allo");
}
// Fonction avec return
private string Saluer(){
return "Salut";
}