programing tip

C #에서 큰 따옴표와 작은 따옴표의 차이점은 무엇입니까?

itbloger 2020. 11. 30. 07:54
반응형

C #에서 큰 따옴표와 작은 따옴표의 차이점은 무엇입니까?


C #에서 큰 따옴표와 작은 따옴표의 차이점은 무엇입니까?

파일에있는 단어 수를 세는 프로그램을 코딩했습니다.

using System;
using System.IO;
namespace Consoleapp05
{
    class Program
    {
        public static void Main(string[] args)
        {
            StreamReader sr = new StreamReader(@"C:\words.txt");
            string text = sr.ReadToEnd();
            int howmany = 0;
            int howmany2 = 0;

            for(int i = 0; i < text.Length; i++)
            {
                if(text[i] == " ")
                {
                howmany++;
                }
            }
            howmany2 = howmany + 1;
            Console.WriteLine("It is {0} words in the file", howmany2);
            Console.ReadKey(true);
        }
    }
}

큰 따옴표로 인해 오류가 발생합니다. 선생님은 대신 작은 따옴표를 사용하라고했지만 이유를 알려주지 않았습니다. 그렇다면 C #에서 큰 따옴표와 작은 따옴표의 차이점은 무엇입니까?


작은 따옴표는 단일 문자 (데이터 유형 char)를 인코딩하고 큰 따옴표는 여러 문자의 문자열을 인코딩합니다. 차이는 단일 정수와 정수 배열의 차이와 유사합니다.

char c = 'c';
string s = "s"; // String containing a single character.
System.Diagnostics.Debug.Assert(s.Length == 1);
char d = s[0];

int i = 42;
int[] a = new int[] { 42 }; // Array containing a single int.
System.Diagnostics.Debug.Assert(a.Length == 1);
int j = a[0];

문자열 s = "이 문자열"이라고 말하면 s [0]은 해당 문자열의 특정 인덱스에있는 문자입니다 (이 경우 s [0] == 't').

따라서 질문에 답하려면 큰 따옴표 또는 작은 따옴표를 사용하여 다음을 동일한 의미로 생각할 수 있습니다.

string s = " word word";

// check for space as first character using single quotes
if(s[0] == ' ') {
 // do something
}

// check for space using string notation
if(s[0] == " "[0]) {
 // do something
}

보시다시피 작은 따옴표를 사용하여 단일 문자를 결정하는 것은 테스트를 위해 문자열을 문자로 변환하는 것보다 훨씬 쉽습니다.

if(s[0] == " "[0]) { 
 // do something
}

정말 이렇게 말하는 것과 같습니다.

string space = " ";
if(s[0] == space[0]) {
 // do something
}

더 이상 혼동하지 않았기를 바랍니다!


작은 따옴표는 단일 문자를 나타내고 'A'큰 따옴표 '\0'는 문자열 리터럴 끝에 null 종결 자를 추가합니다. " "실제로 " \0"는 의도 된 크기보다 1 바이트 더 큽니다.


큰 따옴표 대신 작은 따옴표?

어디? 여기? if (텍스트 [i] == "")

text [i]는 문자 / 바이트를 제공하며 이것은 (아마도 코딩되지 않은 ??) 문자 / 바이트의 배열과 비교됩니다. 잘 작동하지 않습니다.

Say: compare '1' with 1
or "1" with "one" or (2-1) with "eins" what do you think are the correct answers, or is there no meaningful answer anyway?

Besides that: the program will not work very well with single quotes either, given the example "words.txt" =

one word or 2 words or more words here ?


you are looking for spaces, this can be done as a space in a string or as a char. So in my opinion this would work.

(By the way, if the file contains sentences with dots. And someone forgot to add a space after the dot, the word will not be added to the total amount of words)

참고URL : https://stackoverflow.com/questions/602033/whats-the-difference-between-double-quotes-and-single-quote-in-c-sharp

반응형