Corak Hubungan dan Logik
Gabungkan syarat dalam corak.
Corak Hubungan dan Logik ialah pelajaran Akademi C# percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Akademi C#, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Akademi C# merangkumi sejumlah 4 pelajaran.
Corak Perbandingan
Corak perbandingan membandingkan masukan dengan pemalar menggunakan <, >, <= atau >=. Corak ini sepadan apabila perbandingan itu benar.
Diperkenalkan dalam C# 9, corak perbandingan menjadikan semakan julat ringkas dalam cabang switch dan ungkapan is tanpa perlu menulis perbandingan secara jelas.
int temp = 18;
string level = temp switch
{
< 0 => "freezing",
< 15 => "cold",
< 25 => "mild",
_ => "hot"
};
System.Console.WriteLine(level);Perbandingan dengan is
Corak perbandingan juga berfungsi dalam ungkapan is, lalu menghasilkan semakan boolean yang mudah dibaca.
n is > 0 hampir kelihatan seperti bahasa biasa dan mengembalikan bool yang boleh anda gunakan dalam syarat, penetapan atau predikat LINQ.
using System;
class Program {
static void Main() {
int score = 82;
bool passed = score is >= 60;
Console.WriteLine(passed);
}
}Corak and
Corak logik and memerlukan kedua-dua subcorak sepadan. Corak ini amat sesuai untuk julat yang mempunyai sempadan.
>= 1 and <= 12 sepadan dengan nilai dalam julat inklusif. Tanpa and, menyatakan sempadan dua hala dalam satu corak adalah mustahil.
int month = 6;
bool valid = month is >= 1 and <= 12;
System.Console.WriteLine(valid);Corak or
Corak logik or sepadan apabila salah satu subcorak sepadan. Corak ini mengumpulkan nilai alternatif ke dalam satu cabang.
Daripada mengulangi cabang untuk kes yang berkaitan, 'a' or 'e' or 'i' menggabungkannya. Hal ini memastikan ungkapan switch ringkas dan jelas maksudnya.
char c = 'e';
string kind = c switch
{
'a' or 'e' or 'i' or 'o' or 'u' => "vowel",
_ => "consonant"
};
System.Console.WriteLine(kind);Corak not
Corak logik not sepadan apabila subcoraknya tidak sepadan. Penggunaan yang paling lazim ialah not null.
Corak ini juga menafikan corak lain, seperti not 0 atau not (> 100), lalu membolehkan anda menyatakan pengecualian dengan jelas dalam satu cabang.
object? value = "hi";
if (value is not null)
System.Console.WriteLine("present");Menggabungkan Corak Logik
Corak logik boleh digabungkan. Anda boleh merangkaikan and, or dan not untuk membina syarat yang kompleks, dengan menggunakan kurungan bagi mengawal keutamaan.
Keutamaan ialah: not mengikat paling kuat, diikuti and, kemudian or. Tambahkan kurungan apabila maksudnya mungkin mengelirukan.
using System;
class Program {
static string Classify(int n) => n switch {
< 0 or > 100 => "out of range",
>= 0 and <= 50 => "low half",
_ => "high half"
};
static void Main() => Console.WriteLine(Classify(75));
}Julat dalam Penggredan
Corak perbandingan dan logik bersama-sama memodelkan jadual penggredan klasik dengan kemas.
Oleh sebab cabang diperiksa dari atas ke bawah, anda boleh menggunakan had atas yang mudah atau menggabungkan had dengan and untuk julat yang dinyatakan dengan jelas. Kedua-dua gaya adalah sah; pilih gaya yang lebih jelas.
using System;
class Program {
static char Grade(int s) => s switch {
>= 90 => 'A',
>= 80 and < 90 => 'B',
>= 70 and < 80 => 'C',
_ => 'F'
};
static void Main() => Console.WriteLine(Grade(85));
}not null dengan Corak Sifat
Menggabungkan not null dengan corak jenis dan sifat menghasilkan pengawal yang selamat serta jelas.
obj is Person { Name: not null } p sepadan dengan Person yang bukan null dan Name-nya juga bukan null, lalu mengikatnya. Hal ini mengelakkan semakan null yang bertingkat-tingkat.
record Person(string? Name);
object obj = new Person("Kai");
if (obj is Person { Name: not null } p)
System.Console.WriteLine(p.Name);Menafikan Julat
Anda boleh menafikan kumpulan perbandingan dengan not dan kurungan untuk menyatakan pengecualian.
not (>= 1 and <= 5) sepadan dengan apa-apa yang berada di luar julat 1 hingga 5. Bagi sesetengah pembaca, bentuk ini lebih jelas daripada bentuk setara < 1 or > 5.
using System;
class Program {
static void Main() {
int n = 9;
bool outside = n is not (>= 1 and <= 5);
Console.WriteLine(outside);
}
}Menggabungkan dengan Corak Jenis
Corak logik juga boleh digabungkan dengan corak jenis. o is int or long sepadan dengan jenis angka integer dalam satu semakan.
Hal ini berguna untuk mengendalikan beberapa jenis yang berkaitan secara seragam. Perhatikan bahawa kedua-dua bahagian or mestilah serasi dengan cara hasilnya digunakan.
object o = 5L;
string kind = o switch
{
int or long => "integral",
float or double => "floating",
_ => "other"
};
System.Console.WriteLine(kind);Panduan Kebolehbacaan
Corak logik bersifat ekspresif tetapi boleh menjadi padat. Pastikan setiap cabang ringkas, utamakan julat dengan and, dan letakkan tanda kurung pada gabungan and/or untuk kejelasan.
Apabila syarat memerlukan banyak klausa atau pemboleh ubah luaran, pengawal when mungkin lebih mudah dibaca daripada corak logik yang panjang. Pilih yang paling jelas menyampaikan maksud.
int n = 42;
string r = n switch
{
> 0 and < 10 when n % 2 == 0 => "small even",
_ => "other"
};
System.Console.WriteLine(r);Semakan Pantas
Uji pemahaman anda tentang corak hubungan dan corak logik.
Rumusan
Corak hubungan (< > <= >=) membandingkan nilai dengan pemalar. Corak logik menggabungkan subcorak menggunakan and, or dan not.
Keutamaan ialah not, kemudian and, kemudian or; gunakan tanda kurung apabila mencampurkannya. Seterusnya kita akan membincangkan corak senarai dan tupel.
Pelajari C# dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 93
- Pelajaran
- 346
Soalan Lazim
Adakah pelajaran “Corak Hubungan dan Logik” percuma?
Ya — teks penuh “Corak Hubungan dan Logik” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Akademi C#, tingkat taraf kepada CoddyKit PRO. Kursus Akademi C# merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Corak Hubungan dan Logik”?
Gabungkan syarat dalam corak. Anda berlatih Akademi C# menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Akademi C#?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Akademi C# di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.
Berapa lamakah pelajaran “Corak Hubungan dan Logik” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Akademi C# ini?
Ya. Setiap pelajaran Akademi C# menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Ekspresi switch
- Corak Jenis dan Sifat
- Corak Hubungan dan Logik
- Corak Senarai dan Tuple