메서드에서 우리는 Array of Strings
. 이 배열에서 첫 번째 값을 반환해야합니다.Double
예 :
String[] myArray = {"abc", "def" , "1.0", "1.1" }; output:1.0
String[] myArray2 = {"abc", "def" , "ij" , "57.0"}; output:57.0
String[] myArray3 = {"11.1","abc", "def" , "ij" , "57.0"}; output:11.1
이를 위해 다음 코드를 사용합니다.
Double i = 0;
foreach(String s in myArray)
{
Double.TryParse(s, out i);
if (i > 0)
{ return i; }
}
동일한 결과를 얻는 더 짧은 방법이 있는지 궁금합니다. 시간 내 주셔서 감사합니다!
double n;
string d = myArray.First(x => double.TryParse(x, out n))
반환 할 수 있습니다 . n
첫 번째 유효한 값과 동일합니다 double
. BTW, 당신의 예제에서 당신은 경우 cheking하는 i > 0
대신에 당신의 결과를 확인해야 TryParse
하고 있다면 진정한 복귀가 i
.
편집 : 주석에서 제안한대로 First
배열에 유효한 숫자가 없으면 메서드에서 예외가 발생합니다. 이 경우 FirstOrDefault
결과를 사용 하고 확인할 수 있습니다.
string d = myArray.FirstOrDefault(x => double.TryParse(x, out n))
if(d != null) return n;
else /* return a default value */
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다