안녕하세요 저는 6 자릿수 int를 문자열로 변환하려고합니다. 현재 코드는 다음과 같습니다.int to string, string 인덱스 번호 오류
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Euler_4
{
class Program
{
static void Main(string[] args)
{
string snum;
int num;
string final = "nul";
char first;
char second;
for (int i = 100, h = 100; i < 999; i++, h++)
{
num = i * h;
snum = num.ToString();
first = snum[0];
second = snum.ToCharArray()[5]; //Line of interest
if (first == second)
{
final = snum;
}
}
Console.WriteLine(final);
Console.ReadLine();
}
}
}
문제는 인덱스를 실행하려고하면 범위를 벗어나는 예외를 계속 반환한다는 것입니다. 0에서 시작하면 여섯 번째 숫자는 [5]가 아니며 [4]는 다섯 번째 숫자를 반환하므로 여기서 손실이 발생합니다.
ToCharArray는 필요하지 않습니다. 'string'의 인덱서가 이미 작업을 수행합니다. –
'ToString()'을 사용하지 않는 이유는 무엇입니까? –