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)
'programing tip' 카테고리의 다른 글
VS2017 NetCoreApp을 EXE로 컴파일 (0) | 2020.11.30 |
---|---|
데이터베이스 구성이 어댑터를 지정하지 않습니다. (0) | 2020.11.30 |
Eclipse Index 정리, 코드와 동기화되지 않음 (0) | 2020.11.30 |
LINQ 성능 FAQ (0) | 2020.11.30 |
Visual Studio가 변경 내용을 추적하지 않거나 편집 할 때 소스 제어에서 파일을 체크 아웃하지 않습니다. (0) | 2020.11.30 |