[{"data":1,"prerenderedAt":1274},["ShallowReactive",2],{"page-\u002Fcsharp":3,"pieces-csharp":1245,"autour-\u002Fcsharp":1259,"prerequis-\u002Fcsharp":1262,"plan-csharp":1263},{"id":4,"title":5,"body":6,"description":1221,"extension":1222,"ligne":80,"meta":1223,"motsCles":1224,"navigation":183,"niveau":1232,"path":1233,"prerequis":1234,"ressources":1234,"seo":1235,"sources":1236,"stem":1243,"__hash__":1244},"docs\u002Fcsharp\u002Findex.md","C#",{"type":7,"value":8,"toc":1210},"minimark",[9,13,18,63,71,75,237,241,245,457,463,467,529,535,539,679,683,687,841,847,851,915,920,924,1058,1064,1068,1202,1206],[10,11,12],"p",{},"Ce mémo résume l'essentiel de C#. Chaque section renvoie au cours qui l'explique en détail.",[14,15,17],"h2",{"id":16},"commandes-dotnet","Commandes dotnet",[19,20,21,34],"table",{},[22,23,24],"thead",{},[25,26,27,31],"tr",{},[28,29,30],"th",{},"Commande",[28,32,33],{},"Effet",[35,36,37,53],"tbody",{},[25,38,39,46],{},[40,41,42],"td",{},[43,44,45],"code",{},"dotnet new console -o Recettes",[40,47,48,49,52],{},"Crée un projet console dans le dossier ",[43,50,51],{},"Recettes",".",[25,54,55,60],{},[40,56,57],{},[43,58,59],{},"dotnet run",[40,61,62],{},"Compile et lance le programme.",[10,64,65,66,52],{},"Détails : ",[67,68,70],"a",{"href":69},"\u002Fcsharp\u002Fpremier-programme","Premier programme C#",[14,72,74],{"id":73},"types-et-chaînes","Types et chaînes",[76,77,82],"pre",{"className":78,"code":79,"language":80,"meta":81,"style":81},"language-csharp shiki shiki-themes github-light-default github-dark-default github-dark-default","string nom = \"Crêpes\";\nint portions = 4;\ndouble prix = 3.5;\nbool vegetarien = true;\nvar duree = 30;                       \u002F\u002F type deviné : int\n\nConsole.WriteLine($\"{nom} : {prix \u002F portions:F2} euros par part\");\n","csharp","",[43,83,84,108,125,141,157,178,185],{"__ignoreMap":81},[85,86,89,93,97,100,104],"span",{"class":87,"line":88},"line",1,[85,90,92],{"class":91},"sOnC1","string",[85,94,96],{"class":95},"sIXEE"," nom",[85,98,99],{"class":91}," =",[85,101,103],{"class":102},"shWOn"," \"Crêpes\"",[85,105,107],{"class":106},"scfrF",";\n",[85,109,111,114,117,119,123],{"class":87,"line":110},2,[85,112,113],{"class":91},"int",[85,115,116],{"class":95}," portions",[85,118,99],{"class":91},[85,120,122],{"class":121},"s5iOY"," 4",[85,124,107],{"class":106},[85,126,128,131,134,136,139],{"class":87,"line":127},3,[85,129,130],{"class":91},"double",[85,132,133],{"class":95}," prix",[85,135,99],{"class":91},[85,137,138],{"class":121}," 3.5",[85,140,107],{"class":106},[85,142,144,147,150,152,155],{"class":87,"line":143},4,[85,145,146],{"class":91},"bool",[85,148,149],{"class":95}," vegetarien",[85,151,99],{"class":91},[85,153,154],{"class":121}," true",[85,156,107],{"class":106},[85,158,160,163,166,168,171,174],{"class":87,"line":159},5,[85,161,162],{"class":91},"var",[85,164,165],{"class":95}," duree",[85,167,99],{"class":91},[85,169,170],{"class":121}," 30",[85,172,173],{"class":106},";                       ",[85,175,177],{"class":176},"sd6ml","\u002F\u002F type deviné : int\n",[85,179,181],{"class":87,"line":180},6,[85,182,184],{"emptyLinePlaceholder":183},true,"\n",[85,186,188,191,195,198,201,204,207,210,213,215,218,221,223,226,229,231,234],{"class":87,"line":187},7,[85,189,190],{"class":106},"Console.",[85,192,194],{"class":193},"syCW7","WriteLine",[85,196,197],{"class":106},"(",[85,199,200],{"class":102},"$\"",[85,202,203],{"class":102},"{",[85,205,206],{"class":106},"nom",[85,208,209],{"class":102},"}",[85,211,212],{"class":102}," : ",[85,214,203],{"class":102},[85,216,217],{"class":106},"prix",[85,219,220],{"class":91}," \u002F",[85,222,116],{"class":106},[85,224,225],{"class":91},":",[85,227,228],{"class":106},"F2",[85,230,209],{"class":102},[85,232,233],{"class":102}," euros par part\"",[85,235,236],{"class":106},");\n",[10,238,65,239,52],{},[67,240,70],{"href":69},[14,242,244],{"id":243},"conditions-boucles-méthodes","Conditions, boucles, méthodes",[76,246,248],{"className":78,"code":247,"language":80,"meta":81,"style":81},"if (minutes \u003C= 30 && vegetarien) { \u002F* ... *\u002F } else { \u002F* ... *\u002F }\n\nstring msg = categorie switch { \"dessert\" => \"Pour finir\", _ => \"Autre\" };\n\nfor (int i = 1; i \u003C= 3; i++) { }\nforeach (string ingredient in ingredients) { }\nwhile (temperature \u003C 180) { temperature += 40; }\n\nstatic double PrixParPart(double prix, int portions) => prix \u002F portions;\n",[43,249,250,286,290,330,334,369,387,413,418],{"__ignoreMap":81},[85,251,252,255,258,261,263,266,269,272,275,278,281,283],{"class":87,"line":88},[85,253,254],{"class":91},"if",[85,256,257],{"class":106}," (minutes ",[85,259,260],{"class":91},"\u003C=",[85,262,170],{"class":121},[85,264,265],{"class":91}," &&",[85,267,268],{"class":106}," vegetarien) { ",[85,270,271],{"class":176},"\u002F* ... *\u002F",[85,273,274],{"class":106}," } ",[85,276,277],{"class":91},"else",[85,279,280],{"class":106}," { ",[85,282,271],{"class":176},[85,284,285],{"class":106}," }\n",[85,287,288],{"class":87,"line":110},[85,289,184],{"emptyLinePlaceholder":183},[85,291,292,294,297,299,302,305,307,310,313,316,319,322,324,327],{"class":87,"line":127},[85,293,92],{"class":91},[85,295,296],{"class":95}," msg",[85,298,99],{"class":91},[85,300,301],{"class":106}," categorie ",[85,303,304],{"class":91},"switch",[85,306,280],{"class":106},[85,308,309],{"class":102},"\"dessert\"",[85,311,312],{"class":91}," =>",[85,314,315],{"class":102}," \"Pour finir\"",[85,317,318],{"class":106},", ",[85,320,321],{"class":121},"_",[85,323,312],{"class":91},[85,325,326],{"class":102}," \"Autre\"",[85,328,329],{"class":106}," };\n",[85,331,332],{"class":87,"line":143},[85,333,184],{"emptyLinePlaceholder":183},[85,335,336,339,342,344,347,349,352,355,357,360,363,366],{"class":87,"line":159},[85,337,338],{"class":91},"for",[85,340,341],{"class":106}," (",[85,343,113],{"class":91},[85,345,346],{"class":95}," i",[85,348,99],{"class":91},[85,350,351],{"class":121}," 1",[85,353,354],{"class":106},"; i ",[85,356,260],{"class":91},[85,358,359],{"class":121}," 3",[85,361,362],{"class":106},"; i",[85,364,365],{"class":91},"++",[85,367,368],{"class":106},") { }\n",[85,370,371,374,376,378,381,384],{"class":87,"line":180},[85,372,373],{"class":91},"foreach",[85,375,341],{"class":106},[85,377,92],{"class":91},[85,379,380],{"class":95}," ingredient",[85,382,383],{"class":91}," in",[85,385,386],{"class":106}," ingredients) { }\n",[85,388,389,392,395,398,401,404,407,410],{"class":87,"line":187},[85,390,391],{"class":91},"while",[85,393,394],{"class":106}," (temperature ",[85,396,397],{"class":91},"\u003C",[85,399,400],{"class":121}," 180",[85,402,403],{"class":106},") { temperature ",[85,405,406],{"class":91},"+=",[85,408,409],{"class":121}," 40",[85,411,412],{"class":106},"; }\n",[85,414,416],{"class":87,"line":415},8,[85,417,184],{"emptyLinePlaceholder":183},[85,419,421,424,427,430,432,434,436,438,440,442,445,448,451,454],{"class":87,"line":420},9,[85,422,423],{"class":91},"static",[85,425,426],{"class":91}," double",[85,428,429],{"class":193}," PrixParPart",[85,431,197],{"class":106},[85,433,130],{"class":91},[85,435,133],{"class":95},[85,437,318],{"class":106},[85,439,113],{"class":91},[85,441,116],{"class":95},[85,443,444],{"class":106},") ",[85,446,447],{"class":91},"=>",[85,449,450],{"class":106}," prix ",[85,452,453],{"class":91},"\u002F",[85,455,456],{"class":106}," portions;\n",[10,458,65,459,52],{},[67,460,462],{"href":461},"\u002Fcsharp\u002Fconditions-boucles-methodes","Conditions, boucles et méthodes",[14,464,466],{"id":465},"collections","Collections",[19,468,469,479],{},[22,470,471],{},[25,472,473,476],{},[28,474,475],{},"Outil",[28,477,478],{},"Usage",[35,480,481,506,519],{},[25,482,483,488],{},[40,484,485],{},[43,486,487],{},"new List\u003Cstring> { \"a\", \"b\" }",[40,489,490,491,318,494,318,497,318,500,318,503,52],{},"Liste ordonnée : ",[43,492,493],{},"Add",[43,495,496],{},"Remove",[43,498,499],{},"Contains",[43,501,502],{},"Count",[43,504,505],{},"[0]",[25,507,508,513],{},[40,509,510],{},[43,511,512],{},"new Dictionary\u003Cstring, double>()",[40,514,515,516,52],{},"Clé unique vers valeur : ",[43,517,518],{},"d[\"k\"] = v",[25,520,521,526],{},[40,522,523],{},[43,524,525],{},"d.TryGetValue(\"k\", out var v)",[40,527,528],{},"Lecture sans erreur si la clé manque.",[10,530,65,531,52],{},[67,532,534],{"href":533},"\u002Fcsharp\u002Fcollections-et-exceptions","Collections et exceptions",[14,536,538],{"id":537},"exceptions","Exceptions",[76,540,542],{"className":78,"code":541,"language":80,"meta":81,"style":81},"try\n{\n    int n = int.Parse(saisie);\n}\ncatch (FormatException ex)\n{\n    Console.WriteLine(ex.Message);\n}\nfinally\n{\n    Console.WriteLine(\"Toujours exécuté\");\n}\n\nif (int.TryParse(saisie, out int portions)) { \u002F* ... *\u002F }\n",[43,543,544,549,554,575,580,596,600,610,614,619,624,638,643,648],{"__ignoreMap":81},[85,545,546],{"class":87,"line":88},[85,547,548],{"class":91},"try\n",[85,550,551],{"class":87,"line":110},[85,552,553],{"class":106},"{\n",[85,555,556,559,562,564,567,569,572],{"class":87,"line":127},[85,557,558],{"class":91},"    int",[85,560,561],{"class":95}," n",[85,563,99],{"class":91},[85,565,566],{"class":91}," int",[85,568,52],{"class":106},[85,570,571],{"class":193},"Parse",[85,573,574],{"class":106},"(saisie);\n",[85,576,577],{"class":87,"line":143},[85,578,579],{"class":106},"}\n",[85,581,582,585,587,590,593],{"class":87,"line":159},[85,583,584],{"class":91},"catch",[85,586,341],{"class":106},[85,588,589],{"class":95},"FormatException",[85,591,592],{"class":95}," ex",[85,594,595],{"class":106},")\n",[85,597,598],{"class":87,"line":180},[85,599,553],{"class":106},[85,601,602,605,607],{"class":87,"line":187},[85,603,604],{"class":106},"    Console.",[85,606,194],{"class":193},[85,608,609],{"class":106},"(ex.Message);\n",[85,611,612],{"class":87,"line":415},[85,613,579],{"class":106},[85,615,616],{"class":87,"line":420},[85,617,618],{"class":91},"finally\n",[85,620,622],{"class":87,"line":621},10,[85,623,553],{"class":106},[85,625,627,629,631,633,636],{"class":87,"line":626},11,[85,628,604],{"class":106},[85,630,194],{"class":193},[85,632,197],{"class":106},[85,634,635],{"class":102},"\"Toujours exécuté\"",[85,637,236],{"class":106},[85,639,641],{"class":87,"line":640},12,[85,642,579],{"class":106},[85,644,646],{"class":87,"line":645},13,[85,647,184],{"emptyLinePlaceholder":183},[85,649,651,653,655,657,659,662,665,668,670,672,675,677],{"class":87,"line":650},14,[85,652,254],{"class":91},[85,654,341],{"class":106},[85,656,113],{"class":91},[85,658,52],{"class":106},[85,660,661],{"class":193},"TryParse",[85,663,664],{"class":106},"(saisie, ",[85,666,667],{"class":91},"out",[85,669,566],{"class":91},[85,671,116],{"class":95},[85,673,674],{"class":106},")) { ",[85,676,271],{"class":176},[85,678,285],{"class":106},[10,680,65,681,52],{},[67,682,534],{"href":533},[14,684,686],{"id":685},"classes-et-records","Classes et records",[76,688,690],{"className":78,"code":689,"language":80,"meta":81,"style":81},"public class Recette\n{\n    public string Nom { get; }\n    public int Minutes { get; private set; }\n    public Recette(string nom, int minutes) { Nom = nom; Minutes = minutes; }\n}\n\npublic record Ingredient(string Nom, int Quantite);\nvar plus = ingredient with { Quantite = 500 };\n",[43,691,692,703,707,725,749,783,787,791,816],{"__ignoreMap":81},[85,693,694,697,700],{"class":87,"line":88},[85,695,696],{"class":91},"public",[85,698,699],{"class":91}," class",[85,701,702],{"class":95}," Recette\n",[85,704,705],{"class":87,"line":110},[85,706,553],{"class":106},[85,708,709,712,715,718,720,723],{"class":87,"line":127},[85,710,711],{"class":91},"    public",[85,713,714],{"class":91}," string",[85,716,717],{"class":95}," Nom",[85,719,280],{"class":106},[85,721,722],{"class":91},"get",[85,724,412],{"class":106},[85,726,727,729,731,734,736,738,741,744,747],{"class":87,"line":143},[85,728,711],{"class":91},[85,730,566],{"class":91},[85,732,733],{"class":95}," Minutes",[85,735,280],{"class":106},[85,737,722],{"class":91},[85,739,740],{"class":106},"; ",[85,742,743],{"class":91},"private",[85,745,746],{"class":91}," set",[85,748,412],{"class":106},[85,750,751,753,756,758,760,762,764,766,769,772,775,778,780],{"class":87,"line":159},[85,752,711],{"class":91},[85,754,755],{"class":193}," Recette",[85,757,197],{"class":106},[85,759,92],{"class":91},[85,761,96],{"class":95},[85,763,318],{"class":106},[85,765,113],{"class":91},[85,767,768],{"class":95}," minutes",[85,770,771],{"class":106},") { Nom ",[85,773,774],{"class":91},"=",[85,776,777],{"class":106}," nom; Minutes ",[85,779,774],{"class":91},[85,781,782],{"class":106}," minutes; }\n",[85,784,785],{"class":87,"line":180},[85,786,579],{"class":106},[85,788,789],{"class":87,"line":187},[85,790,184],{"emptyLinePlaceholder":183},[85,792,793,795,798,801,803,805,807,809,811,814],{"class":87,"line":415},[85,794,696],{"class":91},[85,796,797],{"class":91}," record",[85,799,800],{"class":95}," Ingredient",[85,802,197],{"class":106},[85,804,92],{"class":91},[85,806,717],{"class":95},[85,808,318],{"class":106},[85,810,113],{"class":91},[85,812,813],{"class":95}," Quantite",[85,815,236],{"class":106},[85,817,818,820,823,825,828,831,834,836,839],{"class":87,"line":420},[85,819,162],{"class":91},[85,821,822],{"class":95}," plus",[85,824,99],{"class":91},[85,826,827],{"class":106}," ingredient ",[85,829,830],{"class":91},"with",[85,832,833],{"class":106}," { Quantite ",[85,835,774],{"class":91},[85,837,838],{"class":121}," 500",[85,840,329],{"class":106},[10,842,65,843,52],{},[67,844,846],{"href":845},"\u002Fcsharp\u002Fclasses-proprietes-records","Classes, propriétés et records",[14,848,850],{"id":849},"héritage-et-interfaces","Héritage et interfaces",[19,852,853,863],{},[22,854,855],{},[25,856,857,860],{},[28,858,859],{},"Mot-clé",[28,861,862],{},"Sens",[35,864,865,875,889,902],{},[25,866,867,872],{},[40,868,869],{},[43,870,871],{},"class B : A",[40,873,874],{},"B hérite de A.",[25,876,877,886],{},[40,878,879,882,883],{},[43,880,881],{},"virtual"," \u002F ",[43,884,885],{},"override",[40,887,888],{},"Autoriser \u002F redéfinir une méthode.",[25,890,891,899],{},[40,892,893,882,896],{},[43,894,895],{},"abstract",[43,897,898],{},"sealed",[40,900,901],{},"Classe non créable seule \u002F non héritable.",[25,903,904,909],{},[40,905,906],{},[43,907,908],{},"interface IPrix",[40,910,911,912,52],{},"Contrat à implémenter avec ",[43,913,914],{},"class X : IPrix",[10,916,65,917,52],{},[67,918,850],{"href":919},"\u002Fcsharp\u002Fheritage-et-interfaces",[14,921,923],{"id":922},"linq","LINQ",[76,925,927],{"className":78,"code":926,"language":80,"meta":81,"style":81},"var noms = recettes\n    .Where(r => r.Minutes \u003C= 30)\n    .OrderBy(r => r.Minutes)\n    .Select(r => r.Nom)\n    .ToList();\n\nint total = recettes.Sum(r => r.Minutes);\nvar groupes = recettes.GroupBy(r => r.Categorie);\n",[43,928,929,941,965,981,997,1007,1011,1035],{"__ignoreMap":81},[85,930,931,933,936,938],{"class":87,"line":88},[85,932,162],{"class":91},[85,934,935],{"class":95}," noms",[85,937,99],{"class":91},[85,939,940],{"class":106}," recettes\n",[85,942,943,946,949,951,954,956,959,961,963],{"class":87,"line":110},[85,944,945],{"class":106},"    .",[85,947,948],{"class":193},"Where",[85,950,197],{"class":106},[85,952,953],{"class":95},"r",[85,955,312],{"class":91},[85,957,958],{"class":106}," r.Minutes ",[85,960,260],{"class":91},[85,962,170],{"class":121},[85,964,595],{"class":106},[85,966,967,969,972,974,976,978],{"class":87,"line":127},[85,968,945],{"class":106},[85,970,971],{"class":193},"OrderBy",[85,973,197],{"class":106},[85,975,953],{"class":95},[85,977,312],{"class":91},[85,979,980],{"class":106}," r.Minutes)\n",[85,982,983,985,988,990,992,994],{"class":87,"line":143},[85,984,945],{"class":106},[85,986,987],{"class":193},"Select",[85,989,197],{"class":106},[85,991,953],{"class":95},[85,993,312],{"class":91},[85,995,996],{"class":106}," r.Nom)\n",[85,998,999,1001,1004],{"class":87,"line":159},[85,1000,945],{"class":106},[85,1002,1003],{"class":193},"ToList",[85,1005,1006],{"class":106},"();\n",[85,1008,1009],{"class":87,"line":180},[85,1010,184],{"emptyLinePlaceholder":183},[85,1012,1013,1015,1018,1020,1023,1026,1028,1030,1032],{"class":87,"line":187},[85,1014,113],{"class":91},[85,1016,1017],{"class":95}," total",[85,1019,99],{"class":91},[85,1021,1022],{"class":106}," recettes.",[85,1024,1025],{"class":193},"Sum",[85,1027,197],{"class":106},[85,1029,953],{"class":95},[85,1031,312],{"class":91},[85,1033,1034],{"class":106}," r.Minutes);\n",[85,1036,1037,1039,1042,1044,1046,1049,1051,1053,1055],{"class":87,"line":415},[85,1038,162],{"class":91},[85,1040,1041],{"class":95}," groupes",[85,1043,99],{"class":91},[85,1045,1022],{"class":106},[85,1047,1048],{"class":193},"GroupBy",[85,1050,197],{"class":106},[85,1052,953],{"class":95},[85,1054,312],{"class":91},[85,1056,1057],{"class":106}," r.Categorie);\n",[10,1059,65,1060,52],{},[67,1061,1063],{"href":1062},"\u002Fcsharp\u002Flinq-et-async","LINQ et async\u002Fawait",[14,1065,1067],{"id":1066},"async-et-await","Async et await",[76,1069,1071],{"className":78,"code":1070,"language":80,"meta":81,"style":81},"static async Task\u003Cstring> ChargerAsync(string nom)\n{\n    await Task.Delay(1000);\n    return nom;\n}\n\nstring texte = await ChargerAsync(\"Crêpes\");\nstring[] tous = await Task.WhenAll(ChargerAsync(\"a\"), ChargerAsync(\"b\"));\n",[43,1072,1073,1101,1105,1123,1131,1135,1139,1161],{"__ignoreMap":81},[85,1074,1075,1077,1080,1083,1085,1087,1090,1093,1095,1097,1099],{"class":87,"line":88},[85,1076,423],{"class":91},[85,1078,1079],{"class":91}," async",[85,1081,1082],{"class":95}," Task",[85,1084,397],{"class":106},[85,1086,92],{"class":91},[85,1088,1089],{"class":106},"> ",[85,1091,1092],{"class":193},"ChargerAsync",[85,1094,197],{"class":106},[85,1096,92],{"class":91},[85,1098,96],{"class":95},[85,1100,595],{"class":106},[85,1102,1103],{"class":87,"line":110},[85,1104,553],{"class":106},[85,1106,1107,1110,1113,1116,1118,1121],{"class":87,"line":127},[85,1108,1109],{"class":91},"    await",[85,1111,1112],{"class":106}," Task.",[85,1114,1115],{"class":193},"Delay",[85,1117,197],{"class":106},[85,1119,1120],{"class":121},"1000",[85,1122,236],{"class":106},[85,1124,1125,1128],{"class":87,"line":143},[85,1126,1127],{"class":91},"    return",[85,1129,1130],{"class":106}," nom;\n",[85,1132,1133],{"class":87,"line":159},[85,1134,579],{"class":106},[85,1136,1137],{"class":87,"line":180},[85,1138,184],{"emptyLinePlaceholder":183},[85,1140,1141,1143,1146,1148,1151,1154,1156,1159],{"class":87,"line":187},[85,1142,92],{"class":91},[85,1144,1145],{"class":95}," texte",[85,1147,99],{"class":91},[85,1149,1150],{"class":91}," await",[85,1152,1153],{"class":193}," ChargerAsync",[85,1155,197],{"class":106},[85,1157,1158],{"class":102},"\"Crêpes\"",[85,1160,236],{"class":106},[85,1162,1163,1165,1168,1171,1173,1175,1177,1180,1182,1184,1186,1189,1192,1194,1196,1199],{"class":87,"line":415},[85,1164,92],{"class":91},[85,1166,1167],{"class":106},"[] ",[85,1169,1170],{"class":95},"tous",[85,1172,99],{"class":91},[85,1174,1150],{"class":91},[85,1176,1112],{"class":106},[85,1178,1179],{"class":193},"WhenAll",[85,1181,197],{"class":106},[85,1183,1092],{"class":193},[85,1185,197],{"class":106},[85,1187,1188],{"class":102},"\"a\"",[85,1190,1191],{"class":106},"), ",[85,1193,1092],{"class":193},[85,1195,197],{"class":106},[85,1197,1198],{"class":102},"\"b\"",[85,1200,1201],{"class":106},"));\n",[10,1203,65,1204,52],{},[67,1205,1063],{"href":1062},[1207,1208,1209],"style",{},"html pre.shiki code .sOnC1, html code.shiki .sOnC1{--shiki-light:#CF222E;--shiki-default:#FF7B72;--shiki-dark:#FF7B72}html pre.shiki code .sIXEE, html code.shiki .sIXEE{--shiki-light:#953800;--shiki-default:#FFA657;--shiki-dark:#FFA657}html pre.shiki code .shWOn, html code.shiki .shWOn{--shiki-light:#0A3069;--shiki-default:#A5D6FF;--shiki-dark:#A5D6FF}html pre.shiki code .scfrF, html code.shiki .scfrF{--shiki-light:#1F2328;--shiki-default:#E6EDF3;--shiki-dark:#E6EDF3}html pre.shiki code .s5iOY, html code.shiki .s5iOY{--shiki-light:#0550AE;--shiki-default:#79C0FF;--shiki-dark:#79C0FF}html pre.shiki code .sd6ml, html code.shiki .sd6ml{--shiki-light:#6E7781;--shiki-default:#8B949E;--shiki-dark:#8B949E}html pre.shiki code .syCW7, html code.shiki .syCW7{--shiki-light:#8250DF;--shiki-default:#D2A8FF;--shiki-dark:#D2A8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":81,"searchDepth":110,"depth":127,"links":1211},[1212,1213,1214,1215,1216,1217,1218,1219,1220],{"id":16,"depth":110,"text":17},{"id":73,"depth":110,"text":74},{"id":243,"depth":110,"text":244},{"id":465,"depth":110,"text":466},{"id":537,"depth":110,"text":538},{"id":685,"depth":110,"text":686},{"id":849,"depth":110,"text":850},{"id":922,"depth":110,"text":923},{"id":1066,"depth":110,"text":1067},"Le mémo de C# et .NET : commandes dotnet, types, contrôle du flux, collections, classes, LINQ, exceptions et async.","md",{},[1225,1226,5,1227,59,1228,1229,1230,923,1231],"mémo","aide-mémoire",".NET","List","Dictionary","record","async await","memo","\u002Fcsharp",null,{"title":5,"description":1221},[1237,1240],{"nom":1238,"url":1239},"Documentation .NET","https:\u002F\u002Flearn.microsoft.com\u002Ffr-fr\u002Fdotnet\u002F",{"nom":1241,"url":1242},"Documentation C#","https:\u002F\u002Flearn.microsoft.com\u002Ffr-fr\u002Fdotnet\u002Fcsharp\u002F","csharp\u002Findex","bwQrzH_ZEec_TPIh-pItLq3D6vipA5p7e4AoR3BBQR0",[1246,1248,1250,1252,1254,1256,1258],{"path":69,"title":70,"stem":1247},"csharp\u002F01.premier-programme",{"path":461,"title":462,"stem":1249},"csharp\u002F02.conditions-boucles-methodes",{"path":533,"title":534,"stem":1251},"csharp\u002F03.collections-et-exceptions",{"path":845,"title":846,"stem":1253},"csharp\u002F04.classes-proprietes-records",{"path":919,"title":850,"stem":1255},"csharp\u002F05.heritage-et-interfaces",{"path":1062,"title":1063,"stem":1257},"csharp\u002F06.linq-et-async",{"path":1233,"title":5,"stem":1243},[1234,1260],{"title":70,"path":69,"stem":1247,"description":1261,"children":-1},"Installer le SDK .NET, créer une application console avec dotnet new console, la lancer avec dotnet run, puis découvrir variables, types et chaînes interpolées.",[],[1264,1266,1267,1268,1270,1271,1273],{"path":69,"title":70,"niveau":1265,"stem":1247},"debutant",{"path":461,"title":462,"niveau":1265,"stem":1249},{"path":533,"title":534,"niveau":1265,"stem":1251},{"path":845,"title":846,"niveau":1269,"stem":1253},"intermediaire",{"path":919,"title":850,"niveau":1269,"stem":1255},{"path":1062,"title":1063,"niveau":1272,"stem":1257},"avance",{"path":1233,"title":5,"niveau":1232,"stem":1243},1794583431018]