יסודות התכנות · C#

✦ בנוי על ידי פהד גאנם ✦

class Program  ⟶  static void Main()  ⟶  הפקודות   |   Lamp x = new Lamp("A")  ⟶  x.On()  ⟶  x.Report()
הידור ⟶ הרצה   |   שגיאת הידור ⟶ פלט ריק   |   שגיאת ריצה ⟶ פלט חלקי
3
0
0

entry = Program.Main
4 פקודות ⟶ 3 שורות פלט
output = ""
פלט ריק ⟶ הידור  ·  פלט חלקי ⟶ ריצה

int a = 7   int b = 2   |   a + b = 9   |   a − b = 5   |   a·b = 14   |   ab = 3   |   a % b = 1   |   a2.0 = 3.5
( )  >  * / %  >  + −    |    int ⟶ double אוטומטי   |   double ⟶ int רק עם (int)
3
0
0

253 / 3 = 84  ·  253 % 3 = 1
double avg = 84 ⟶ 84
(a+b+c) / 3.0  ·  (double)(a+b+c) / 3  ⟶  84.33333333333333
84 ≠ 84.333…

! >  &&  >  ||   |   ‎!(p && q) = !p || !q  |   ‎!(p || q) = !p && !q
‎0.1 + 0.2 == 0.3  ⟶  False   |   ‎Math.Abs(x − y) < 1e−9  ⟶  True
4
0
p && q · p || q

True || False && True
True || (False && True) = True
(True || False) && True = True
volt = 15  ⟶  True  vs  False

for (int i = 0; i < n; i++) { גוף }   |   אתחול ⟶ תנאי ⟶ גוף ⟶ קידום ⟶ תנאי ⟶ …
מונה: c = 0  ·  צובר: s = 0  ·  קיצון: mx = a[0]   לא  mx = 0
6
0
0

−2 > 0 ⟶ False
output = 0  ·  max האמיתי = −1
int mx = a[0]; for (int i = 1; …)
if (a.Length > 0) { … }

class Lamp { private double watt;   public Lamp(double watt) { this.watt = watt; }   public double GetWatt() { return watt; } }
Lamp b = a;  ⟶  שני שמות, עצם אחד   |   new Lamp(9.5) == new Lamp(9.5)  ⟶  False
4
0
0

private double ohm;  ·  public Resistor(double ohm) { this.ohm = ohm; }
I = VR  ·  if (value > 0) ohm = value;
r.ohm = −50  ⟶  CS0122
b = a  ⟶  a == b  True  ·  new … == new …  False

static double Power(double v, double a) { return v * a; }
Power(12, 0.5)  ⟶  6   |   Bump(int n)  ⟶  הקורא אינו רואה   |   Halve(Resistor r)  ⟶  הקורא רואה
4
0
0

static double Power(double v, double a)  ·  static void Drain(Battery b)  ·  static Battery Stronger(Battery x, Battery y)
P = V·I  ·  this ⟶ אין צורך
Drain(Battery) ⟶ נראה  ·  Drain(double) ⟶ אינו נראה
Stronger ⟶ 0 עצמים חדשים  ·  Combine ⟶ 1 עצם חדש

string s = "R220";  ·  s.Length ⟶ 4  ·  s[0] ⟶ 'R'  ·  s[s.Length−1] ⟶ '0'
s.ToUpper()מחרוזת חדשה   |   s ⟶ "R220" · לא השתנתה   |   "" + 2 + 3 ⟶ "23"
4
0
0

this.code = code.Trim().ToUpper();
s.Trim();  ⟶  אין שינוי  ·  s = s.Trim();  ⟶  נוקה
v = v · 10 + (code[i] − '0')
p1 == p2 ⟶ False  ·  p1.GetCode() == p2.GetCode() ⟶ True

int[] a = new int[3];  ·  a.Length ⟶ 3  ·  a[0] ⟶ 0  ·  a[a.Length−1] ⟶ התא האחרון
int[] b = a;  ⟶  מערך אחד, שני שמות   |   Array.Copy(a, b, a.Length)  ⟶  תאים נפרדים
4
0
0

int[] hits = new int[ch];  ·  double[] total = new double[ch];
int c = channel[i];  ·  hits[c] = hits[c] + 1;  ·  total[c] = total[c] + amp[i];
double[] avg = new double[hits.Length];  ·  if (hits[c] > 0) avg[c] = total[c] / hits[c];
int[] b = a; ⟶ מערך אחד  ·  Array.Copy(a, b, a.Length) ⟶ שני מערכים

rate : Rating  ⟶  תכונה שהיא עצם  ·  parts : Resistor[]  ⟶  מערך עצמים כתכונה
Series(double, double)  |  Series(Resistor, Resistor)  ⟶  אותו שם, חתימה אחרת  ·  הטיפוס המוחזר אינו מבדיל
4
0
0

Board ◆——* Resistor  ·  Resistor ◆—— Rating
parts = new Resistor[room];  ·  count = 0;
this.rate = rate;  ⟶  משותף  ·  this.rate = new Rating(v, w);  ⟶  נפרד
Add(Resistor r)  |  Add(string code, double ohm)

List<int> v = new List<int>();  ·  v.Count ⟶ כמה יש  ·  v.Capacity ⟶ לכמה יש מקום
Add ⟶ 0 → 4 → 8 → 16   |   BinarySearch ⟶ דורשת רשימה ממוינת  ·  ~r ⟶ מציין ההכנסה
4
0

List<int> keep = new List<int>();
foreach (int v in raw) if (v <= max) keep.Add(v);
for (int i = keep.Count − 1; i >= 0; i−−) if (bad(keep[i])) keep.RemoveAt(i);
keep.Sort();  ·  int r = keep.BinarySearch(x);  ·  r < 0 ⟶ keep.Insert(~r, x)

a & b ⟶ שתיהן  ·  a | b ⟶ לפחות אחת  ·  a ^ b ⟶ שונות  ·  ~a ⟶ כל 32 הסיביות
(v >> k) & ((1 << w) − 1) ⟶ קריאת שדה   |   (v & ~mask) | ((x << k) & mask) ⟶ כתיבת שדה
4

return (reg >> 2) & 0x07;
int mask = 0x07 << 2;  ·  return (reg & ~mask) | ((s << 2) & mask);
3 | 4 ⟶ 7  ·  (reg & ~mask) | 4 ⟶ 4
reg & 0x80 != 0  ⟶  אינו מהודר  ·  (reg & 0x80) != 0  ⟶  תקין
🏠