我有一个字符串形式的整数数组。
string [] TriangleSideLengths
在此数组中,将有3个int值,它们代表三角形的边长。有没有一种方法可以从数组TriangleSideLengths中提取所有三个值到三个int对象,例如int intSideLengthOne,intSideLengthTwo和intSideLengthThree。
我希望能够测试这三个值是否真正形成有效的三角形?
例如,输入长度10、10、100000不会使其成为有效的等腰三角形。
我想要使用存储在数组TriangleSideLengths中的三个值来执行此检查。
a + b > c
a + c > b
b + c > a
任何帮助是极大的赞赏。
非常感谢!! :)
最佳答案
您可以使用LINQ来解析字符串中的数字,如下所示:
var threeSides = TriangleSideLengths.Select(int.Parse).ToArray();
这是demo on ideone。
要进行检查,请按升序对数字进行排序,然后检查前两个的和是否严格大于第三个:
Array.Sort(threeSides);
if (threeSides[0]+threeSides[1] > threeSides[2]) {
...
}
请注意,用数字定义三角形不是充分的条件:您还必须检查数字严格为正。