π’ C#
C# extern ν€μλ
using System; using System.Runtime.InteropServices; class Program { // extern ν€μλλ₯Ό μ¬μ©νμ¬ μΈλΆμμ ꡬνλ λ©μλλ₯Ό λνλ [DllImport("user32.dll")] public static extern int MessageBox(IntPtr hWnd, string text, string caption, uint type); static void Main() { // μΈλΆμμ ꡬνλ MessageBox ν¨μ νΈμΆ MessageBox(IntPtr.Zero, "Hello, World!", "Message", 0); } } -C#μμ μΈλΆλ‘λΆν° ꡬνλ λ©μλλ₯Ό λνλ -νμ¬ C# μ½λ νμΌμ΄ μλ λ€λ₯Έ μΈμ΄λ‘ μμ±λ μ½λμ μ μλ λ©μλμμ..
C# DataTable.Select λ©μλ
DataRow[] DataTable.Select(string filterExpression); - DataTable κ°μ²΄μμ νΉμ 쑰건μ λ§μ‘±νλ νλ€μ μ ν - filterExpression: νν°λ§μ μν μμ λνλ΄λ λ¬Έμμ΄, SQL WHERE μ κ³Ό μ μ¬ν ννλ₯Ό κ°μ§λ©°, νΉμ 쑰건μ μ μ -Select λ©μλμ λ°νκ°μ DataRow λ°°μ΄μ΄λ©°, μ΄ λ°°μ΄μ 쑰건μ λ§μ‘±νλ νλ€μ λ΄κ³ μμ (νν° μμ λ§λ λͺ¨λ νλ€μ΄ ν¬ν¨λ λ°°μ΄μ λ°ν)
C# Windows Forms νΌμ λ‘λ
μΌλ°μ μΈ Windows Forms μ ν리μΌμ΄μ μμμ νΌ λ‘λ μμ -Windows Forms μ ν리μΌμ΄μ μμ νΌμ΄ μμ±λκ³ μ΄κΈ°νλλ©°, μ¬μ©μ μΈν°νμ΄μ€κ° νλ©΄μ λ‘λλλ μμκ° μ΄λ£¨μ΄μ§λλ€. μμ λ€μ΄ μ΄λ£¨μ΄μ§ 1. νΌ κ°μ²΄ μμ±: ν΄λΉ νΌ ν΄λμ€μ κ°μ²΄κ° λ©λͺ¨λ¦¬μ ν λΉλμ΄ μμ±λ¨ 2. νΌ μμ±μ νΈμΆ: ν΄λμ€μ μΈμ€ν΄μ€κ° λ§λ€μ΄μ§ λ μλμΌλ‘ νΈμΆλμ΄ ν΄λΉ μΈμ€ν΄μ€λ₯Ό μ΄κΈ°ν -νΌ κ°μ²΄κ° μμ±λλ©΄ ν΄λΉ νΌ ν΄λμ€μ μμ±μκ° νΈμΆλ¨ -μμ±μμμλ μ£Όλ‘ UI μ»΄ν¬λνΈ μ΄κΈ°ν λ° κΈ°λ³Έ μ€μ μμ μ΄ μνλ¨ -μμ±μ μμμ InitializeComponent() λ©μλ λ±μ΄ νΈμΆλμ΄ λμμ΄λμμ μμ±λ UI μ»΄ν¬λνΈ μ΄κΈ°ν μ½λκ° μ€νλ¨ 3. Load μ΄λ²€νΈ νΈλ€λ¬ λ±λ‘: -μμ±μμμλ Load μ΄λ²€νΈ νΈλ€λ¬λ₯Ό ..
231019 c# CLR, C# μ»΄νμΌλ¬, JIT μ»΄νμΌλ¬, μ€κ°μΈμ΄(MSIL), μ΄μ λΈλ¦¬
λ λ²μ μ»΄νμΌ κ³Όμ μ ν΅ν΄ .NET νλ‘κ·Έλ¨μ λ€μν νλ«νΌμμ μ€νλ μ μμΌλ©°, μ€ν μ€μ μ΅μ νκ° μ΄λ£¨μ΄μ Έ μ±λ₯ ν₯μλ¨ *CLR : .NET μΈμ΄(C#, VB.NET, F# λ±)λ‘ μμ±λ μμ€ μ½λλ₯Ό μ€ννκΈ° μν λ°νμ νκ²½ *C# μ»΄νμΌλ¬: κ°λ°μκ° μμ±ν μμ€ μ½λλ₯Ό μ€κ° μΈμ΄MSIL (Microsoft Intermediate Language)λ‘ μ»΄νμΌ, exe λλ .dll νμ₯μλ₯Ό κ°μ§ μ΄μ λΈλ¦¬ νμΌμ μ μ₯λ¨ (λ°λ‘ μ€ν λͺ»ν¨) *JIT(Just-In-Time) μ»΄νμΌλ¬ : νλ‘κ·Έλ¨μ΄ μ€νλ λ CLRμ MSIL μ½λλ₯Ό μ½κ³ , ν΄λΉ νλ«νΌμ νΉνλ κΈ°κ³μ΄λ‘ μ€μκ°μΌλ‘ λ³ννλ JIT μ»΄νμΌ κ³Όμ μ μν, JIT μ»΄νμΌ λ¨κ³μμ μ΅μ’ μ μΈ νλ«νΌμ λ§λ κΈ°κ³μ΄ μ½λκ° μμ±λλ©° κΈ°κ³μ΄ μ½λκ° ..
231018 C# C# νμΌ , λμμ΄λ, .NET, λ€μμ€νμ΄μ€, using, μ΄κ±°ν, override, κ°μλ©μλ, ꡬ쑰체μ ν΄λμ€, pass by value, pass by reference, μλμμ± νλ‘νΌν°, μλ°λ, InitializeComponent(), μΆμλ©μλ, μμκ³Ό ..
.cs, .designer.cs, .resx νμΌ -Visual Studioμμ Windows Forms λλ WPFμ κ°μ μ¬μ©μ μΈν°νμ΄μ€λ₯Ό λμμΈνλ λ° μ¬μ©λλ GUI μμμ μ½λμ 리μμ€λ₯Ό λΆλ¦¬νκΈ° μν΄ μμ±λ¨ -μ΄λ¬ν νμΌλ€μ ν¨κ» μλνμ¬ μ¬μ©μ μΈν°νμ΄μ€λ₯Ό λμμΈνκ³ κ·Έμ νμν μ½λμ 리μμ€λ₯Ό κ΄λ¦¬ν¨ -λμμ΄λκ° μ 곡νλ μκ°μ λꡬλ₯Ό μ¬μ©νλ©΄ .designer.cs λ° .resx νμΌμ΄ μλμΌλ‘ μμ±λλ©°, μ΄λ¬ν νμΌμ ν΅ν΄ μ½λμ 리μμ€ κ°μ κ΄κ³λ₯Ό μμ½κ² μ μ§ν μ μμ .cs νμΌ: μ¬μ©μ μΈν°νμ΄μ€ μμμ μ½λκ° ν¬ν¨λμ΄ μμ (λ²νΌ ν΄λ¦ μ΄λ²€νΈ μ²λ¦¬, λ°μ΄ν° λ‘μ§ λ±μ΄ μμΉ) .designer.cs νμΌ: -λμμΈ νμμ μμ±λ μ½λλ₯Ό ν¬ν¨ν¨, μΌλ°μ μΌλ‘ κ°λ°μκ° μ§μ νΈμ§X ..
C#κ°λ° λΉμ£ΌμΌ μ€νλμ€ λλ²κΉ νκΈ°
*λλ²κΉ -Visual Studioμ κ°μ λλ²κΉ λꡬμμ λ¨κ³λ³λ‘ μ½λλ₯Ό μ€ννμ¬ νλ‘κ·Έλλ° μ€μλ₯Ό λ§λ μ νν μ§μ μ μ°Ύλ κ² -κ·Έλ° λ€μ, μ½λμμ λ³κ²½ν΄μΌ νλ μμ μ¬νμ μ΄ν΄νκ³ , νλ‘κ·Έλ¨ μ€νμ κ³μν μ μλλ‘ λλ²κΉ λꡬλ₯Ό ν΅ν΄ μ’ μ’ μμμ μΈ λ³κ²½ μ¬νμ λ§λ€ μ μμ *λλ²κΉ μ μμνκΈ° μ μ ν΄κ²°νκ³ μ νλ λ¬Έμ λ₯Ό νμ - μ½λμκ²μ μ΄λ€ λμμ κΈ°λνλκ°? - κ·Έ λμ μ΄λ€ μΌμ΄ λ°μνλκ°? *μ½λμ μλλ₯Ό μκ³ μλκ°? >> λλ²κ·Ένλ €λ©΄ μ½λμ μλλ₯Ό μ΄ν΄νλ κ²μ΄ μ€μ -λ€λ₯Έ μ¬λμ μ½λλ₯Ό λλ²κ·ΈνκΈ°κ° μ’ μ’ λμ± μ΄λ €μ -μ¬μ©μμ μ½λκ° μλ κ²½μ° ν¨κ³Όμ μΌλ‘ λλ²κ·ΈνκΈ° μν΄ μ½λκ° μννλ κ²μ μ ννκ² νμ΅νλ λ° μκ°μ μλΉν΄μΌ ν μ μμ *λλ²κΉ λͺ¨λ(λλ²κ±° λ΄μ μ± μ€ν)..
C#μ λ³μμ μμ±, ν΄λμ€μ νλμ λ©€λ²
C#μ λ³μμ μμ± λ³μ - λ°μ΄ν°λ₯Ό μ μ₯νλ λ°μ μ£Όλ‘ μ¬μ©λ¨ μμ± - ν΄λμ€μ λ©€λ²λ‘μ μΈλΆμμμ μ κ·Όμ ν΅μ νλ©΄μ λ°μ΄ν°μ μ κ·Όνλ λ° μ¬μ©λ¨ λ³μ (Variable): -λ©λͺ¨λ¦¬μ κ°μ μ μ₯νκΈ° μν μμμ μΈ κ³΅κ°μ΄λ©°, λ°μ΄ν°λ₯Ό λ΄μ λ μ¬μ© -λ©μλ λ΄λΆμμ μ μΈλκ±°λ ν΄λμ€μ νλλ‘ μ μΈλ μ μμ -κΈ°λ³Έ λ°μ΄ν° νμ(int, string, double λ±)μ΄λ μ¬μ©μ μ μ νμμ λ°μ΄ν°λ₯Ό μ μ₯ν μ μμ μμ± (Property): -ν΄λμ€ λ΄λΆμμ μ μλλ©°, ν΄λμ€μ λ©€λ²λ‘μ ν΄λμ€μ μΈλΆμμ μ κ·Όν μ μλ λ©€λ² -μ£Όλ‘ private λ³μμ λν μ κ·Όμ(Getter)μ μ€μ μ(Setter)λ₯Ό μ 곡νμ¬ λ°μ΄ν° μΊ‘μνλ₯Ό μν΄ μ¬μ©λ¨ -κ°μ κ°μ Έμ€κ±°λ μ€μ νλ λ° μ¬μ©λλ©°, getκ³Ό set μ κ·Όμ..
231016 C# as, νλμ νλ‘νΌν°,setDataBinding, dataSource, dataMember, DisplayMemberμ ValueMember ,OwnerDrawCell μ΄λ²€νΈ
as νλ³νμ μμ νκ² μννλ C# ν€μλ grdMainList.DataSourceκ° DataTable νμ μΌλ‘ νλ³νμ΄ κ°λ₯ν κ²½μ° νλ³νμ μννκ³ , κ·Έλ μ§ μμΌλ©΄ nullμ λ°νν©λλ€. μ΄κ²μ νλ³ν μ€ν¨ μ μμΈκ° λ°μνμ§ μκ² νκΈ° μν μμ ν νλ³ν λ°©μ μ€ νλμ λλ€. νλ (Field): ν΄λμ€ λλ ꡬ쑰체 λ΄λΆμμ λ³μ μ£Όλ‘ ν΄λμ€μ μν(λ©€λ² λ³μ)λ₯Ό λνλ΄κΈ° μν΄ μ¬μ©λ©λλ€. μ§μ μ μΌλ‘ νλμ μ κ·Όν μ μμ΅λλ€. μ£Όλ‘ ν΄λμ€λ ꡬ쑰체 λ΄λΆμμλ§ μ¬μ©λλ©°, ν΄λμ€ μΈλΆμμλ μ¨κ²¨μ Έ μμ μ μμ΅λλ€. νλ‘νΌν° (Property): ν΄λμ€λ ꡬ쑰체μ λ©€λ² λ³μμ κ°μ μ μΌλ‘ μ κ·Όν μ μλ λ°©λ²μ μ 곡ν©λλ€. νλ‘νΌν°λ λ©μλμ²λΌ 보μ΄μ§λ§, μΈλΆμμλ νλμ²λΌ μ¬μ©λ©λλ€. ν΄λμ€ λλ ..