C#노트2
3222 단어 C#.NET
2. 우리는 실제 인코딩에서 때때로 as 키를 사용하여 대상을 지정한 형식으로 변환할 수 있다. is 형식과 달리 is 키는 대상이 주어진 형식과 호환되는지 확인하는 데 사용되며, 호환되면 true로 돌아가고, 호환되지 않으면 false로 돌아간다.as 키워드는 형식 변환을 직접 진행합니다. 변환에 성공하면 변환된 대상을 되돌려주고, 변환에 성공하지 못하면 이상을 던지지 않고null로 되돌려줍니다.as는 계승 트리의 클래스 간 전환에만 사용할 수 있습니다. 그렇지 않으면 VS가 바로 잘못 보고됩니다.Student s = p as Student;
3. 인터페이스 구성원 액세스 수식자는 공공연하다고 생각하고 액세스 수식자를 사용할 수 없습니다.구조 함수는 기본값으로public 접근 수식자입니다.분석 함수는 액세스 수식자를 사용할 수 없고 기본값은private 액세스 수식자입니다.클래스의 구성원 기본 접근 수식자는private입니다.매거 형식 구성원은 기본적으로public 접근 수식자입니다. 수식자를 사용할 수 없습니다.구조 구성원은 기본적으로 private 수식자입니다.구조 구성원은 보호된 구성원으로 성명할 수 없습니다. 왜냐하면 구조가 계승을 지원하지 않기 때문입니다.플러그인 형식의 기본 접근 수식자는private입니다.클래스, 구조의 구성원 기본 접근 형식과 일치합니다.
인터페이스에 필드가 나타나는 것을 허용하지 않고 자동 속성만 허용합니다 (set; get; 괄호가 없습니다. 인터페이스 구성원이 정의할 수 없기 때문에 하위 클래스에서 필드를 정의하여 구체적으로 실현해야 합니다.)속성의 setget도 실현체가 없는 함수이기 때문에 본질적으로 인터페이스는 방법만 허용합니다.
만약 계승에 인터페이스와 클래스가 있다면, 클래스는 반드시 맨 앞에 두어야 한다.
여러 인터페이스를 계승할 때 인터페이스에 같은 방법이 존재하는데 이때 디스플레이를 할 수 있다.
using System;
namespace ConsoleApp1
{
class Program
{
public static void Main(string[] args)
{
A a = new Person();
B b = new Person();
//
a.func();
b.func();
}
}
class Person : A, B
{
// A B Func
void A.func()
{
Console.WriteLine("A");
}
void B.func() // , 。 。
{
Console.WriteLine("B");
}
}
public interface A
{
void func();
}
public interface B
{
void func();
}
}
4.ArrayList와 HashTable는 System에 있습니다.Collections에서Dictionary는 System에 있습니다.Collections.generic에서
ArrayList list = new ArrayList(); //
list.Add(1);
list.Add(new Person());
list.Add("hello");
list.Remove(1);
list.Insert(0, "InsertData");
foreach(var v in list)
{
Console.WriteLine(v);
}
IEnumerator ie = list.GetEnumerator();
Console.WriteLine("---------IEnumerator");
while (ie.MoveNext())
{
Console.WriteLine(ie.Current);
}
Console.WriteLine("----------HashTable");
Hashtable ht = new Hashtable(3);// 3 HashTable
ht.Add(1, "hello");
ht.Add("new", "newdata");
//ht.Add("new", "newData");
ht["new"] = "newnew"; // ,
foreach(var v in ht.Keys)
{
Console.WriteLine(ht[v]);
}
Console.WriteLine("----------Dictionary");
Dictionary d = new Dictionary();
d.Add(1, "ABC");
d.Add(2, "EFG");
d.Remove(2);
foreach( var v in d.Keys)
{
Console.WriteLine(d[v]);
}
《끝》.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
C# 속성 변경 사항 모니터링, 메서드 실행수요: 주함수에서 다른 클래스의 속성을 감시해야 하고 속성에 변화가 발생하면 주함수가 있는 클래스에서 어떤 방법을 실행해야 한다. code:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.