मेरे पास स्ट्रिंग फॉर्म में पूर्णांकों की एक सरणी है:
var arr = new string[] { "1", "2", "3", "4" };
मुझे इसे आगे बढ़ाने के लिए 'वास्तविक' पूर्णांक की एक सरणी की आवश्यकता है:
void Foo(int[] arr) { .. }
मैंने इंट कास्ट करने की कोशिश की और यह निश्चित रूप से विफल रहा:
Foo(arr.Cast<int>.ToArray());
मैं आगे कर सकता हूं:
var list = new List<int>(arr.Length);
arr.ForEach(i => list.Add(Int32.Parse(i))); // maybe Convert.ToInt32() is better?
Foo(list.ToArray());
या
var list = new List<int>(arr.Length);
arr.ForEach(i =>
{
int j;
if (Int32.TryParse(i, out j)) // TryParse is faster, yeah
{
list.Add(j);
}
}
Foo(list.ToArray());
लेकिन दोनों बदसूरत लग रहे हैं।
क्या कार्य को पूरा करने के लिए कोई अन्य तरीका है?