더 빨리 알고 싶습니다. 도와주세요. 당신이 정규 표현식을 반환 볼 수 있듯이로컬 변수와 메소드에서 호출 된 변수의 차이점은 무엇입니까? C#
public static Regex FindNumber()
{ return new Regex(@"\d+", RegexOptions.IgnoreCase | RegexOptions.Compiled); }
:
는 그래서 같은 방법으로 선언 된 변수가 있습니다.
나 또한 그렇게 보이는 또 다른 방법이 있습니다 TestTwo 지금
private static string TestOne(string RawData)
{
Regex rgxFindNumber = FindNumber();
Regex rgxFindDays = FindDays();
for (int i = 0; i < mc.Count; i++)
{
int days = Convert.ToInt32(rgxFindNumber.Match(rgxFindDays.Match(mc[i].Value).Value).Value);
}
return RawData;
}
을 TestOne 방법이 더 빠를 것 또는이다? TestOne 그래서 난 구현하는 더 나은 것 알고 싶습니다 내 코드에서 aweful 많은 전화를받을 수 있기 때문에
private static string TestTwo(string RawData)
{
for (int i = 0; i < mc.Count; i++)
{
int days = Convert.ToInt32(FindNumber().Match(FindDays().Match(mc[i].Value).Value).Value);
}
return RawData;
}
지금 호기심 메신저.
감사합니다.
** 편집 : ** 사용하고있는 코드는 매우 큰 클래스입니다. 텍스트 기반 전략 게임을위한 텍스트 파서입니다. 나는 그것을 조금 리팩터링하려고 노력하고 있는데, 여기서 궁금해하는 것이있다. 정규식에 대한 개인 변수를 만들면 클래스에 액세스 할 때마다 실행되지 않습니까? 그게 내 질문이야.
첫 번째는 의미있는 성능 목표를 설정합니다. SECOND, 목표 달성을위한 진척 상황을 측정하십시오. 셋째, 목표를 달성하지 못한 경우 프로파일 러를 사용하여 가장 느린 것을 찾으십시오. 넷째, 고쳐주세요. 목표를 달성 할 때까지 반복하십시오. 각 단계가 중요합니다. 귀하의 질문에 대답하는 유일한 방법은 그것을 피하고 결과를 측정하여 그것이 의미있는지를 확인하는 것입니다. 귀하의 질문을 읽는 책상에 앉아있는 누구도 고객의 기계에 얼마나 큰 차이가 있는지, 또는 그 차이가 고객에게 의미가 있는지 또는 고객이 최적화 할 곳을 찾아야 할지를 알 수 있습니다. –