C# 언어 4강. C# 기본 문법 (2/2) - 업그레이드

Поділитися
Вставка
  • Опубліковано 10 січ 2025

КОМЕНТАРІ • 15

  • @gonsonhu5575
    @gonsonhu5575 5 років тому +4

    ArrayList 코드 예문에서 System.Collections 쓰라는거 편집으로 날라갔나요?

  • @심심쟁이송도
    @심심쟁이송도 5 років тому

    임베디드 개발자라 몇 년간 현업에서 C만 썼었는데 PC용 테스트 Tool제작에 C#을 쓰면 생산성이 높다고 하여 강의 듣고 있습니다. 좋은 강의 감사합니다.

    • @oursfarm
      @oursfarm  5 років тому

      반갑습니다. 앞으로의 대세가 C#이라 꼭 하셔야 할겁니다. 저도 하고 있는데 네트워크까지 복잡하지 않고 오히려 간단해 졌습니다.
      과거 C++, Win32, MFC로 네트워크 하려면 정말 코딩량이 엄청났는데 그런 부분이 싹~ 없어지고
      안정적입니다. 제가 올린 동영상은 임베디드에서 사용하는 것을 올려놔서 이것 따라 오시면 됩니다. ^^ 화팅~~

  • @dipoorlittleboy
    @dipoorlittleboy 6 років тому +1

    아는 언어라고는 C밖에 없어서 인지 일단은 그러려니 하고 보고있습니다 완강후에 다시 보면 완벽히 이해가 될려나요? 항상 좋은 강의 감사합니다!

    • @oursfarm
      @oursfarm  6 років тому +1

      반갑습니다. 조금이라도 본인이 코드를 작성해 보거나 기본 코드를 옮겨 보는것 많은 도움이 됩니다.
      언어가 다 거기서 거기입니다. C언어를 아시니 객체라는 부분에서 조금 추가된 내용과 윈도우 처리 방식을 이해하시면 C 언어에서 C#으로 넘어 갈 수 있습니다. 완강하시면 전체적인 이해가 되실 것이고 프로그래밍에 대한 원론적인 부분을 이해하시게 될 것입니다. 화팅~~ ^___________^

  • @변종길-g6e
    @변종길-g6e Рік тому

    오타와 말의 단어가 오류가 발생하네요.

  • @ytubewiki
    @ytubewiki 4 роки тому

    잘 보고 있습니다.

  • @천재동민
    @천재동민 6 років тому +1

    안녕하세요. 항상 좋은 강의 잘 보고 있습니다. 그런데 Foreach의 요소가 읽기 전용이라는 것이 잘 이해가 안되는데요.
    class Student
    {
    public string Name { get; set; }
    public int Age { get; set; }
    public string Major { get; set; }
    }
    class Program
    {
    static void Main(string[] args)
    {
    List list = new List();
    list.Add(new Student { Name = "홍길동", Age = 17, Major = "미술" });
    list.Add(new Student { Name = "임꺽정", Age = 27, Major = "공예" });
    list.Add(new Student { Name = "장길산", Age = 37, Major = "체육" });
    foreach (Student item in list)
    {
    item.Major = "금품회수";
    }
    foreach (Student item in list)
    {
    Console.WriteLine(item.Major);
    }
    }
    }
    이렇게 하면 출력값이 모두 "금품회수"가 되는데요.
    혹시나해서
    string[] nameList = new string[] { "Nick", "Bob", "Pull" };
    foreach (string item in nameList)
    {
    item = "Edward";
    }
    이렇게 하면 강의해주신대로 에러가 발생하는데요.
    확인 좀 부탁드립니다. 감사합니다 꾸벅(__)

    • @oursfarm
      @oursfarm  6 років тому

      반갑습니다. 다양하게 해보시고 계시네요. 일반적으로 foreach를 읽기 전용 반복문이라고 하고 코드의 item 을 반복변수라고 합니다.
      foreach문에서 다루게 되는 데이터는 대부분 변수의 값에 집중되어 있습니다.
      즉 참조든 뭐든 그 값을 읽기 전용으로 가져와 변경을 못하게 하는 것이죠.
      위에서 예로 들은 것에서 item 자체에 대한 위치값을 읽기 전용으로 바꾸지 못하게 합니다.
      foreach(Student item in list) 라고 했을 때 item 에 새로운 위치값을 대입할 수 없고 그대로 써야 하는 것이죠.
      즉 list에서 참조로 받아온 위치값에 대해서 위의 코드에서는 변경할 수 없기에 이 부분을 읽기 전용이라고 합니다.
      위의 코드로 보면 item.Major을 당연히 출력할 수 있습니다. item 참조를 읽기로 가져왔을 뿐 멤버에 대해서는
      읽기의 범위가 적용되지 않습니다.
      유추를 해보면 코드문법은 단순합니다.
      이 단순함이 지금과 같이 가변적인 멤버변수에까지 읽기를 적용할 수는 없을 것입니다.
      그렇다면 읽기에 대한 문법이 새롭게 나와야 할 것입니다.
      물론 readonly를 붙일 수는 있겠지만 아직 컴파일러에서 하고 있지 않네요 ^^;
      또 앞므로 어떻게 바뀔지는 모르지만 지금은 오직 그 자체의 값에 대해서 읽기로 가져옵니다.
      위의 내용에서 foreach 문 안에서 item의 위치값을 바꾸려고 한다면 에러가 발생하게 될 것입니다.
      이를 확인하려면 foreach문 안에서 item에 new를 통해 생성한 위치값을 대입해 보면 알 수 있겠죠!
      그래서 아래에 string형에 값을 바꿀 때 에러도 발생하는 것입니다. ^^

    • @천재동민
      @천재동민 6 років тому

      아! 감사합니다! item에 대한 읽기 전용일뿐. item(student)의 맴버까지 적용되지 않는 다는 말씀에서 무슨 뜻인지 감을 잡았습니다. (^^)(__)(^^)

    • @oursfarm
      @oursfarm  6 років тому

      화이~~~~~~~~~~~~~~~~~~~~~~~팅~~~ ^^

    • @oursfarm
      @oursfarm  6 років тому

      갑자기 생각이 나서 댓글 올립니다. 괜찮다면 "통찰력을 길러주는 인문학 공부법" 이라는 책을 예스24 중고 서적에서 구입해서 한 번 보는 것도 좋을 것 같다는 생각이 듭니다.
      인문학은 IT 프로그래밍의 개념을 더욱 깊이 있게 해주는데 동민님이 인문학도 같이 겸비하면 더욱 좋을 것 같다는 생각이 듭니다. 저도 이 책을 지금 보고 있는데. 버릴게 없는 책입니다.
      아마도 동민님께서 계속적으로 열정을 가지고 프로그래밍을 할 수 있도록 해줄 촉진제가 될 것이라 생각이 들어 새벽3시 4분에 좀 많이 늦은 시각이지만 한 말씀 올립니다. ^^

    • @천재동민
      @천재동민 6 років тому

      감사합니다. eBook으로 바로 구매했네요^^

  • @웰씽커이슬
    @웰씽커이슬 6 років тому +1

    잘듣고 있습니다.