전체 κΈ€

전체 κΈ€

    [Unity] ν™œμš© κ°€λŠ₯ν•œ AI μ½”λ”© μ„œλΉ„μŠ€ 1편

    [Unity] ν™œμš© κ°€λŠ₯ν•œ AI μ½”λ”© μ„œλΉ„μŠ€ 1편

    ν™œμš© κ°€λŠ₯ν•œ AI μ½”λ”© μ„œλΉ„μŠ€ 1편 1. ChatGPT ChatGPTλ₯Ό μ΄μš©ν•˜μ—¬ μœ λ‹ˆν‹° C# 슀크립트λ₯Ό μ§œλ„λ‘ ν™œμš©ν•  수 μžˆλ‹€. https://openai.com/blog/chatgpt?utm_source=youtube&utm_medium=social&utm_campaign=unitylive-jan_unitytips_aicoding Introducing ChatGPT We’ve trained a model called ChatGPT which interacts in a conversational way. The dialogue format makes it possible for ChatGPT to answer followup questions, admit its mistakes, challenge inc..

    [C#] struct λŒ€μ‹  classλ₯Ό 써야 ν•  λ•Œ

    struct λŒ€μ‹  classλ₯Ό 써야 ν•  λ•Œ κ°„λ‹¨ν•œ 데이터 ꡬ쑰λ₯Ό ν‘œν˜„ν•  λ•Œ μ’…μ’… structλ₯Ό μ‚¬μš©ν•˜κ³€ ν•œλ‹€. μ΄λ•Œ ν•¨μˆ˜ μ•ˆμ—μ„œ μ‚¬μš©λ˜λŠ” structλŠ” Value νƒ€μž…μœΌλ‘œ μŠ€νƒμ— μƒμ„±λ˜κ³ , classλŠ” Reference νƒ€μž…μœΌλ‘œ μΈμŠ€ν„΄μŠ€κ°€ νž™μ— μƒμ„±λœλ‹€. μ΄λŸ¬ν•œ ꡬ쑰적인 μ°¨μ΄λŠ” λ•Œλ‘œ 버그λ₯Ό λ°œμƒμ‹œν‚€κ³€ ν•œλ‹€. μ•„λž˜μ™€ 같은 μ˜ˆμ œκ°€ μžˆλ‹€. struct Employee { public string Name { get; set; } public int Salary { get; set; } } class HR { public void RaiseSalary(Employee emp) { emp.Salary = emp.Salary + 1000; } } Employee emp = new Employee(); emp.Nam..

    [C#] string 객체 μ‚¬μš©μ—μ„œ ν”νžˆ ν•˜λŠ” μ‹€μˆ˜

    string 객체 μ‚¬μš©μ—μ„œ ν”νžˆ ν•˜λŠ” μ‹€μˆ˜ ν•œ λ©”μ„œλ“œ μ•ˆμ˜ 둜컬 λ³€μˆ˜λ“€μ€ κ·Έ λ©”μ„œλ“œκ°€ 끝날 λ•Œ ν•΄μ œν•˜κ²Œ λœλ‹€. Value νƒ€μž…μ˜ λ³€μˆ˜λŠ” ν•¨μˆ˜ 리턴과 λ™μ‹œμ— μŠ€νƒμ—μ„œ ν•΄μ œλ˜κ³ , Reference νƒ€μž…μ˜ λ³€μˆ˜λŠ” GC에 μ˜ν•΄ νž™μ—μ„œ μžλ™ ν•΄μ œλœλ‹€. μ—¬κΈ°μ„œ ν”νžˆ ν•˜λŠ” μ‹€μˆ˜ 쀑 ν•˜λ‚˜λŠ” 레퍼런슀 νƒ€μž…μ˜ 객체λ₯Ό λΆˆν•„μš”ν•˜κ²Œ λ„ˆλ¬΄ 많이 λ§Œλ“œλŠ” 것이닀. 예λ₯Ό λ“€μ–΄ μ•„λž˜ μ˜ˆμ œλŠ” string 객체λ₯Ό n개 μ”© 계속 μƒμ„±ν•˜κ³  μžˆλ‹€. public string Get1ToN_Bad(int n) { string s = ""; for (int i = 1; i

    [C# 8.0] μƒˆλ‘œμš΄ κΈ°λŠ₯ (3) - using μ„ μ–Έ, 널 병합 ν• λ‹Ήμž, ꡬ쑰체 읽기 μ „μš© 멀버

    C# 8.0의 μƒˆλ‘œμš΄ κΈ°λŠ₯ 5. using μ„ μ–Έ using 선언은 using 뒀에 μžˆλŠ” λ³€μˆ˜κ°€ using을 λ‘˜λŸ¬μ‹Ό λ²”μœ„λ₯Ό λ²—μ–΄λ‚  경우 Dispose ν•˜λ„λ‘ μ»΄νŒŒμΌλŸ¬μ—κ²Œ μ§€μ‹œν•˜κ²Œ λœλ‹€. DisposeλŠ” λ©”λͺ¨λ¦¬ 관리λ₯Ό μœ„ν•΄ μ‚¬μš©λ˜λ©° 더 이상 이 였브젝트λ₯Ό 쓰지 μ•Šκ³ , κ΄€λ ¨ λ¦¬μ†ŒμŠ€λ₯Ό μ •λ¦¬ν•œλ‹€λŠ” λœ»μ΄λ‹€. λ©”μ„œλ“œκ°€ 끝날 λ•Œ Disposeλ₯Ό μžλ™ ν˜ΈμΆœν•œλ‹€. private void GetDataCS8() { using var reader = new StreamReader("src.txt"); string data = reader.ReadToEnd(); Debug.WriteLine(data); // μ—¬κΈ°μ„œ Dispose() 호좜됨 } 6. 널 병합 ν• λ‹Ήμž(Null Coalescing Assignment) ν”νžˆ NULL..

    [C# 8.0] μƒˆλ‘œμš΄ κΈ°λŠ₯ (2) - Nullable Reference Type, 인덱싱과 μŠ¬λΌμ΄μ‹±

    C# 8.0의 μƒˆλ‘œμš΄ κΈ°λŠ₯ 3. Nullable Reference Type 이전 λ²„μ „μ—μ„œλŠ” reference νƒ€μž…μ— null을 ν• λ‹Ήν•  수 μžˆμ–΄ Null Reference Exception이 자주 λ°œμƒλ˜κ³€ ν–ˆλ‹€. κ·Έλž˜μ„œ C# 8.0μ—μ„œλŠ” reference νƒ€μž…μ— null을 ν• λ‹Ήν•˜λ©΄ μ»΄νŒŒμΌλŸ¬κ°€ κ²½κ³ ν•˜λŠ” κΈ°λŠ₯을 μΆ”κ°€λ˜μ—ˆλ‹€. reference νƒ€μž…μ€ 기본적으둜 null을 넣을 수 μ—†λŠ” Non-nullable Reference Type이 되고, NULL을 ν—ˆμš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” 레퍼런슀 νƒ€μž… 뒀에 λ¬ΌμŒν‘œ(?)λ₯Ό λΆ™μ—¬ Nullable Reference Typeμž„μ„ ν‘œμ‹œν•΄μ•Ό ν•œλ‹€. Nullable Reference Type κΈ°λŠ₯은 λ””ν΄νŠΈλ‘œ Disable λ˜μ–΄ 있으며 μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œλŠ” ν”„λ‘œμ νŠΈ λ ˆλ²¨μ΄λ‚˜ 파일 레벨, ν˜Ήμ€ μ†Œ..

    [C# 8.0] μƒˆλ‘œμš΄ κΈ°λŠ₯ (1) - λ””ν΄νŠΈ μΈν„°νŽ˜μ΄μŠ€ 멀버, νŒ¨ν„΄ 맀칭

    C# 8.0의 μƒˆλ‘œμš΄ κΈ°λŠ₯ λ””ν΄νŠΈ μΈν„°νŽ˜μ΄μŠ€ 멀버(Default Inteface Members) νŒ¨ν„΄ 맀칭 Nullable Reference Type 인덱싱과 μŠ¬λΌμ΄μ‹± 비동기 슀트림 using μ„ μ–Έ 널 병합 ν• λ‹Ήμž ꡬ쑰체 읽기 μ „μš© 멀버 정적 둜컬 ν•¨μˆ˜ λ¬Έμžμ—΄ 보간 토큰과 @ 토큰 μˆœμ„œ Unmanaged constructed type https://www.csharpstudy.com/Latest/CS8-def-itf-mem.aspx C# 8 λ””ν΄νŠΈ μΈν„°νŽ˜μ΄μŠ€ 멀버 - C# ν”„λ‘œκ·Έλž˜λ° 배우기 (Learn C# Programming) C# 8 : λ””ν΄νŠΈ μΈν„°νŽ˜μ΄μŠ€ 멀버 κ΅¬ν˜„ (Default Inteface Members) μ§€κΈˆκΉŒμ§€ (C# 8.0 이전) C#μ—μ„œ μΈν„°νŽ˜μ΄μŠ€λ₯Ό ν•œλ²ˆ λ°°ν¬ν•œ ν›„, κ·Έ μΈν„°νŽ˜μ΄μŠ€λ₯Ό ..