6/23 C# 테스트, 제너릭 제약 조건
본문 로딩 중...
댓글 0
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!
댓글을 작성하려면 로그인이 필요합니다.
아직 댓글이 없습니다. 첫 번째 댓글을 작성해보세요!
C# 테스트 오답노트
publicclassUtility
{
publicvoidPrint<T>(Tvalue)
{
Console.WriteLine(value);
}
}
Utility 클래스 자체는 제네릭 클래스가 아닙니다.int는 값 타입 구조체라 상속될 수 없으므로 where T : int는 사용할 수 없습니다. 값 타입을 제약하려면 where T : struct를 사용해야 합니다.// 가능
classBox<T>whereT :struct
{
}
// 불가능
classBox<T>whereT :int
{
}
Plane 클래스가 IFly 인터페이스를 구현한다고 선언했지만, IFly에 정의된 Fly() 메서드를 실제로 구현하지 않았기 때문에 컴파일 오류가 발생합니다. 인터페이스를 구현하는 클래스는 인터페이스의 모든 멤버를 반드시 구현해야 합니다.interfaceIFly
{
voidFly();
}
// 가능
classBird :IFly
{
publicvoidFly()=>Console.WriteLine("날다");
}
// 오류
classPlane :IFly
{
}
Plane에도 Fly()를 구현해야 합니다.class Player
{
public event Action OnDied = delegate { };
private int hp = 100;
private bool dead;
public void TakeDamage(int damage)
{
if (dead) return;
hp -= damage;
if (hp <= 0) { dead = true; OnDied(); }
}
}
Player p = new Player();
p.OnDied += () => Console.WriteLine("사망");
p.TakeDamage(60);
p.TakeDamage(60);
p.TakeDamage(60);
int count=10;
Action action= ()=>Console.WriteLine(count);
count=20;
action();// 20 출력
10이 출력되어야 하지만, 실제로는 변경된 값인 20이 출력됩니다. 따라서 b가 옳지 않은 설명입니다.
XR을 활용한 게임 개발 3기(유니티) 수강생입니다. 곧 수료 하지만 앞으로 이곳에 가끔 저의 개발 경험이 나 지식 기록할까 합니다. 더 나아가 이 사이트가 제 개인위키의 역할을 할 수 있으면 좋겠습니다. 한국 게임 시장을 흔들겠습니다

게임 광고 수익은 단순히 광고를 붙이는 것이 아니라, 여러 광고 네트워크를 경쟁시켜 가장 높은 수익을 만드는 구조입니다.

안녕하세요. 플밍 4기 입니다. 게임 개발을 배우기 전 네트워크 엔지니어 도메인에서 익히고 배웠던 네트워크 이론에 대한 기초 입니다. 학습에 도움이 되길 바라며 공유 드립니다.