C#에서 Settings.settings에 클래스 저장하기 1. Settings.settings에 새로운 설정 항목 추가하기 프로젝트의 솔루션 탐색기에서 '속성'을 더블 클릭합니다. 설정 탭을 선택합니다. 새로운 설정 항목을 추가합니다. 예: 이름을 SerializedClass로, 형식을 String로 설정합니다. 2. 클래스를 문자열로 직렬화하고 Settings.settings에 저장하기 using System.IO; using System.Xml.Serialization; public class MyClass { public string Name { get; set; } public int Age { get; set; } } public string SerializeObjectToXml(T objec..
C#의 lock 키워드 이해하기 멀티스레딩 환경에서는 여러 스레드가 동시에 리소스에 접근하려고 할 때 문제가 발생할 수 있습니다. 이러한 동시 접근을 제어하려면 동기화 메커니즘이 필요합니다. C#에서는 lock 키워드를 사용하여 특정 코드 영역의 동시 실행을 방지하는 방법을 제공합니다. 1. 왜 lock이 필요한가? 스레드 간의 경쟁 조건(Race Condition) 때문입니다. 경쟁 조건은 두 개 이상의 스레드가 동시에 공유 데이터에 접근하려고 할 때 발생하는 현상으로, 데이터의 무결성을 손상시킬 수 있습니다. 예를 들어, 두 스레드가 동시에 계좌 잔액을 변경하려고 한다고 가정하면, 한 스레드가 잔액을 업데이트하는 동안 다른 스레드도 동일한 작업을 수행할 수 있으므로 잘못된 잔액이 저장될 수 있습니다...
간단 사용법입니다 SpeechSynthesizer synth = new SpeechSynthesizer(); synth.SetOutputToDefaultAudioDevice(); synth.Speak("안녕하세요");
using MySql.Data.MySqlClient; string ConnectionString = "SERVER=localhost; USER=아이디; DATABASE=데이터베이스; PASSWORD=비밀번호;"; string sql = "select * from test"; DataSet ds = new DataSet(); MySqlConnection Conn = new MySqlConnection(ConnectionString); MySqlDataAdapter dataAdapter = new MySqlDataAdapter(sql, Conn); dataAdapter.Fill(ds,"test");
public static string Encrypt(string textToEncrypt, string key) { RijndaelManaged rijndaelCipher = new RijndaelManaged(); rijndaelCipher.Mode = CipherMode.CBC; rijndaelCipher.Padding = PaddingMode.PKCS7; rijndaelCipher.KeySize = 128; rijndaelCipher.BlockSize = 128; byte[] pwdBytes = Encoding.UTF8.GetBytes(key); byte[] keyBytes = new byte[16]; int len = pwdBytes.Length; if (len > keyBytes.Length) ..
EncryptString(암호키, 암호화할 문자열); private static string EncryptString(string InputText, string KeyString) { RijndaelManaged RijndaelCipher = new RijndaelManaged(); byte[] PlainText = Encoding.Unicode.GetBytes(InputText); byte[] Salt = Encoding.ASCII.GetBytes(KeyString.Length.ToString()); PasswordDeriveBytes SecureKey = new PasswordDeriveBytes(KeyString, Salt); ICryptoTransform Encryptor = RijndaelCi..