문자열 또는 기타 형식을 사용하여 데이터 유형 비교

ConductedForce

C #에서 추가 변수를 만들지 않고 데이터 형식을 설정하고 싶습니다. 빈 변수를 만든 다음 유형을 비교하는 대신.

CustomType empty; //empty variable
CustomType RealFooBar = new CustomType("extremeFoobar", false) //custom datatype with data in it

if(RealFooBar.GetType() == empty.GetType())
     //operation

차라리 다음과 같이하고 싶습니다.

CustomType RealFooBar // already has data

if(RealFooBar.GetType() == {CustomType})
     //operation

이 작업을 수행하는 방법이 있습니까?

typeof(CustomType)한 번 시도 했지만 그렇게 작동하지 않는 것 같습니다. 아니면 제대로하지 않았습니다.

CrudaLilium

당신은 사용해야 typeof당신이 유형 사전에 (컴파일시에)을 알고 사용하는 경우 GetType당신이하지 않는 경우에만하고 런타임에 변경합니다.

또 다른 한가지, 비교 만 필요하면 is키워드 ref : IS 키워드를 사용할 수 있습니다 .

따라서 다음 중 하나가 작동합니다.

if(RealFooBar is string)
if(RealFooBar.GetType() == typeof(string))

편집 : 솔루션 설명 추가. 두 번째 예제가이 특정 경우에 작동하더라도 is거의 모든 경우 에 사용하는 것이 좋습니다 . 그 이유는 두 번째 예가 "정확한 유형 비교"이고 상속을 사용하는 것을 훨씬 더 어렵게 만들기 때문입니다. 아래 예제에서 클래스에 사용할 때 어떻게 작동하는지 볼 수 있습니다.

class Foo {}
class Bar : Foo {}
var instanceOfBar = new Bar();
var instanceOfFoo = new Foo();

//works for base class as expected
if(instanceOfFoo is Foo) //true
if(instanceOfFoo is Bar) //false
if(instanceOfFoo.GetType() == typeof(Foo)) //true
if(instanceOfFoo.GetType() == typeof(Bar)) //false

//exact type checks could behave "unexpectedly" for classes that inherit
if(instanceOfBar is Foo) //true
if(instanceOfBar is Bar) //true
if(instanceOfBar.GetType() == typeof(Foo)) //false ???
if(instanceOfBar.GetType() == typeof(Bar)) //true

나는 어떤 의미에서 예기치 않게 단어를 사용하고 있는데, 미래에 상속하는 새로운 클래스가있을 때 Foo와 이미 작성된 코드가 작동을 멈추거나 예기치 않게 동작 할 수 있다는 것을 알 수 없다는 의미 입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

문자열 데이터 유형이 항상 값 비교를 수행하는 이유

분류에서Dev

파이썬에서 변수를 사용하여 목록, 사전, 문자열, 튜플 또는 기타 데이터 유형의 이름을 지정하는 방법이 있습니까?

분류에서Dev

문자열에 const char * 형식을 사용하는 이유

분류에서Dev

문자열을 사용하는 대신 사용자 정의 데이터 유형

분류에서Dev

열 목록을 다른 데이터 유형으로 변경하는 더 비 단식 (또는 pandorable) 방법

분류에서Dev

Pandas 데이터 유형을 사용하여 문자열 화 된 수식 평가

분류에서Dev

5000 자 문자열에 가장 적합한 HSQLDB 데이터 유형 : NTEXT, CLOB 또는 기타.?

분류에서Dev

필드 값의 데이터 유형이 숫자 (INT64) 또는 기타 데이터 유형인지 확인하는 쿼리

분류에서Dev

Parsec을 사용하여 문자열을 데이터 유형에 매핑하는 간단한 방법

분류에서Dev

Javascript는 숫자 및 기타 데이터 유형을 문자열로 변환하여 콘솔에 인쇄합니까?

분류에서Dev

vtk 데이터 유형과 기본 데이터 유형 비교

분류에서Dev

javascript 또는 jquery를 사용하여 JSON에 HTML 비 형식 데이터

분류에서Dev

이 문자열을 simmetric과 비교하기 위해 StringMetric 또는 MultisetMetric을 사용해야합니까?

분류에서Dev

printf를 사용하여 C에서 데이터 유형을 나타내는 질문

분류에서Dev

If 문은 여러 형식의 사용자 입력 문자열 데이터 유형을 허용해야합니다.

분류에서Dev

맞춤 매개 변수를 기반으로 한 테이블 이름에서 Python과 유사한 문자열 형식을 사용하여 Google 데이터 스튜디오에서 BigQuery 테이블을 쿼리하는 방법은 무엇입니까?

분류에서Dev

Imagemagick (또는 기타 도구)를 사용하여 바이너리 데이터를 유효한 이미지 형식으로 변환

분류에서Dev

이메일 형식 또는 일부 템플릿 문자열의 유효성을 검사하는 정규식

분류에서Dev

데이터 유형이 다른 두 열을 비교하는 가장 빠른 방법

분류에서Dev

서로 다른 형식의 전화 번호를 포함하는 두 개의 데이터 프레임 열을 비교하여 데이터 프레임 필터링

분류에서Dev

PHP에서 형식화 된 문자열을 비교하는 방법

분류에서Dev

문자열 형식화 파이썬을 사용하는 열

분류에서Dev

textfiled 데이터 유형 Java 문자열 또는 정수를 인식하는 방법

분류에서Dev

비트 데이터 형식 열을 사용하여 SQL Server 2005 쿼리

분류에서Dev

struts 2 태그를 사용하여 목록 요소 (유형 문자열)와 문자열 (요청 범위 내)을 비교하는 방법

분류에서Dev

문자열 출력 / 형식을 사용한 Python 날짜 비교

분류에서Dev

문자열의 문자를 기반으로 비교기를 사용하여 string 형 배열 정렬

분류에서Dev

Redsift에서 열 데이터 유형을 식별하는 방법

분류에서Dev

이진 데이터 또는 줄 단위 문자열을 비교하는 것이 더 빠릅니까?

Related 관련 기사

  1. 1

    문자열 데이터 유형이 항상 값 비교를 수행하는 이유

  2. 2

    파이썬에서 변수를 사용하여 목록, 사전, 문자열, 튜플 또는 기타 데이터 유형의 이름을 지정하는 방법이 있습니까?

  3. 3

    문자열에 const char * 형식을 사용하는 이유

  4. 4

    문자열을 사용하는 대신 사용자 정의 데이터 유형

  5. 5

    열 목록을 다른 데이터 유형으로 변경하는 더 비 단식 (또는 pandorable) 방법

  6. 6

    Pandas 데이터 유형을 사용하여 문자열 화 된 수식 평가

  7. 7

    5000 자 문자열에 가장 적합한 HSQLDB 데이터 유형 : NTEXT, CLOB 또는 기타.?

  8. 8

    필드 값의 데이터 유형이 숫자 (INT64) 또는 기타 데이터 유형인지 확인하는 쿼리

  9. 9

    Parsec을 사용하여 문자열을 데이터 유형에 매핑하는 간단한 방법

  10. 10

    Javascript는 숫자 및 기타 데이터 유형을 문자열로 변환하여 콘솔에 인쇄합니까?

  11. 11

    vtk 데이터 유형과 기본 데이터 유형 비교

  12. 12

    javascript 또는 jquery를 사용하여 JSON에 HTML 비 형식 데이터

  13. 13

    이 문자열을 simmetric과 비교하기 위해 StringMetric 또는 MultisetMetric을 사용해야합니까?

  14. 14

    printf를 사용하여 C에서 데이터 유형을 나타내는 질문

  15. 15

    If 문은 여러 형식의 사용자 입력 문자열 데이터 유형을 허용해야합니다.

  16. 16

    맞춤 매개 변수를 기반으로 한 테이블 이름에서 Python과 유사한 문자열 형식을 사용하여 Google 데이터 스튜디오에서 BigQuery 테이블을 쿼리하는 방법은 무엇입니까?

  17. 17

    Imagemagick (또는 기타 도구)를 사용하여 바이너리 데이터를 유효한 이미지 형식으로 변환

  18. 18

    이메일 형식 또는 일부 템플릿 문자열의 유효성을 검사하는 정규식

  19. 19

    데이터 유형이 다른 두 열을 비교하는 가장 빠른 방법

  20. 20

    서로 다른 형식의 전화 번호를 포함하는 두 개의 데이터 프레임 열을 비교하여 데이터 프레임 필터링

  21. 21

    PHP에서 형식화 된 문자열을 비교하는 방법

  22. 22

    문자열 형식화 파이썬을 사용하는 열

  23. 23

    textfiled 데이터 유형 Java 문자열 또는 정수를 인식하는 방법

  24. 24

    비트 데이터 형식 열을 사용하여 SQL Server 2005 쿼리

  25. 25

    struts 2 태그를 사용하여 목록 요소 (유형 문자열)와 문자열 (요청 범위 내)을 비교하는 방법

  26. 26

    문자열 출력 / 형식을 사용한 Python 날짜 비교

  27. 27

    문자열의 문자를 기반으로 비교기를 사용하여 string 형 배열 정렬

  28. 28

    Redsift에서 열 데이터 유형을 식별하는 방법

  29. 29

    이진 데이터 또는 줄 단위 문자열을 비교하는 것이 더 빠릅니까?

뜨겁다태그

보관