Movatterモバイル変換


[0]ホーム

URL:


Skip to content
DEV Community
Log in Create account

DEV Community

Paul Arizpe
Paul Arizpe

Posted on

     

Dart pour C# Développeurs

Alt Text
Bonjour à tous et bienvenue dans un nouvel article, dans cette occasionne, je vous enseignerais comment commencer programmer enDartlang étant un développeur C#. Comme d’habitude je commencerais avec les requis, cependant, je supposerais que vous ayez installé asdf avec les plugins nécessaires pour travailler avec.NET etDart.

Pour commencer avec les choses plus basiques de Dart, on va faire une comparaison entre les deux langues de programmation, puisqu’ls partagent certaines similitudes, pourtant, j’ai divisé cet article en 2 parties afin de vous donner une meilleure compression parmi les deux codes.

Création des projets de type Console.

Premièrement on va créer les projets de console pour Dart et C#. Pour créer un projet de console avec dart, il faut exécuter dans un Terminal la commandedart create -t console-full SampleConsoleApp, ensuite on va entrer dans le dossier crée avec le commandecd SampleConsoleApp. On peut regarder qu'il y a trois dossiers, or, le plus important sontbin etlib puisqu'ils contiendront notre code.

En créant notre première Project Dart

  • bin: Il contient le point d'exécution de l'application Dart. Il semble àProgram.cs mais ici le fichier principal s'appellera avec le nom que nous le donnons pendant son créationSampleConsoleApp.dart.
  • lib: Sur ce dossier, on va trouver les fichiers dart qui auront nos fonctions et clases. Par default, on trouve également un fichier avec le même nom que le fichier de bin, cependant, il contient le méthodecalculate qui est appelé dans le point d'entrée de l'autre fichier.
  • test: Il contient tous les test qu'on va faire dans notre code. Par default, il contient un exemple.
  • pubspec.yml : Il contient les packages qu'on va utiliser dans notre projet. Il semble un peu ànuget, mais, tous les packages seraient télécharger depub.dev
// Structure basique d'une application de console en Dart// main.dartvoidmain(List<String>args){print("Hello World!");}// Pour exécuter, il faut exécuter le suivante instruction: `dart run`
Enter fullscreen modeExit fullscreen mode

Créer une application de console dans Visual Studio, il sera facile, cependant, je vous laisse le contenu deProgram.cs:

usingSystem;namespaceCsharpToDart{classProgram{staticvoidMain(string[]args){Console.WriteLine("Hello World!");}}}
Enter fullscreen modeExit fullscreen mode

En Dart, il n'existe pas le namespace comme en C#.
Pour pouvoir appeller les methodes de dossier lib, il faut suivre la syntaxe:
import 'package:/.dart'
Par exemple :
import 'package:SampleConsoleApp/SampleConsoleApp.dart'

Déclaration des variables et types de donnés.

En C#, on peut déclarer les variables en utilisant la syntaxe :

[type de donné] {nom de variable} = ;
Par exemple:
string message = "Bonjour";

Aussi si nous ne connaissons le type de donné, on peut utiliservar, pourtant, quand la valeur soit assignée, il obtiendra le type de donné, par exemple :

var {nom de variable} = ;
var name = "Joaquin"; // type string
var prix = 12.5; // type double ou float

Pour Dart, les choses sont similaires, seulement on va ajouterdynamic ,const etfinal qui sont un peu semblables àvar mais avec certains règles. Par exemple :

Dart
String message = "I'm a Dalek !!!";
var name = "The Doctor";
const prix = 12.5;
final message2 = "E X T E R M I N A T E !!!!"; // Même cas que const.
dynamic companyName = "Torchwood";

  • const: Une fois assignée, on ne peut changer la valeur de ce variable
  • final: Même cas queconst, une fois assigné, la valeur ne pourra pas changer.
  • dynamic: Il est similaire à var, puisque celui-ci est utilisé quand on ne connait pas le type de donné. Il est utilisé beaucoup dans le type Map.

Désormais on va faire une petite comparaison entre les deux langues afin de connaitre quels sont les types des donnés les plus familials :

C# type.NET typeDart typeDartlang type
boolSystem.Booleanbooldart:core
byteSystem.ByteByteBufferdart:typed_data
charSystem.CharStringdart:io
doubleSystem.Doubledoubledart:core
intSystem.Int32intdart:core
uintSystem.UInt32Uint8dart:ffi
nintSystem.IntPtrIntPtrPointerdart:ffi
objectSystem.ObjectObjectdart:core
stringSystem.StringStringdart:core
dynamicSystem.Objectdynamicdart:core
voidvoid

List, Maps, Sets

En C#, on a Arrays et Dictionary, cependant, si on a besoin de travailler avec Set, on requit d'installerIesi Collections en cas d'utiliser .NET 4, tandis que la version 5, il vient avecHashSet.

Bien que C# ait ces structures des donnés, Dart a aussi les propres, cependant, pour le type array, il devient List, pour le Dictionary, il sera Map. Bien que C# n'ait pas supporté le type Set jusqu'à la version 5 de .NET, en Dart, on a le type Set.

Ici quelques exemples :

// ListList<String>names=['Wanda','Pietro','Vision','Agatha','Mephisto'];varnames2=<String>['Wanda','Pietro','Vision','Agatha','Mephisto'];// Mapsvardata={'name':'Wanda','lastname':'Maximoff'};varperson=<String,String>{'name':'Wanda','lastname':'Maximoff'};Map<String,String>data2={'name':'Wanda','lastname':'Maximoff'};// Setvarnames3={'Wanda','Pietro','Vision','Agatha','Mephisto'};varpersons=<String>{'Wanda','Pietro','Vision','Agatha','Mephisto'};Set<String>characters={'Wanda','Pietro','Vision','Agatha','Mephisto'};
Enter fullscreen modeExit fullscreen mode

Bref, on a vu les types de donnés qui ont pu trouver parmi les deux langues de programmation, cependant, il manque quelques structures et méthodes qu'on verra dans le suivant article. Si vous aimez cet article n'oublié de donner votre like et le partager, à bientôt.

Top comments(0)

Subscribe
pic
Create template

Templates let you quickly answer FAQs or store snippets for re-use.

Dismiss

Are you sure you want to hide this comment? It will become hidden in your post, but will still be visible via the comment'spermalink.

For further actions, you may consider blocking this person and/orreporting abuse

Functional Developer avec Tacos
  • Location
    Mexico City
  • Education
    UTP | UIC | Universidad Rosario Castellanos
  • Work
    Fullstack Developer at Choose IBRI
  • Joined

More fromPaul Arizpe

DEV Community

We're a place where coders share, stay up-to-date and grow their careers.

Log in Create account

[8]ページ先頭

©2009-2025 Movatter.jp