簡體   English   中英

將string []轉換為int

[英]Convert string[] to int

我有一個字符串形式的整數數組。

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();

這是有關ideone演示

要進行檢查,請按升序對數字進行排序,然后檢查前兩個的和是否嚴格大於第三個:

Array.Sort(threeSides);
if (threeSides[0]+threeSides[1] > threeSides[2]) {
    ...
}

請注意,用數字定義三角形不是充分的條件:您還必須檢查數字嚴格為正。

嘗試這個

string [] TriangleSideLengths = new string[3];
int[] lengths = new int[3];
for(int i = 0; i<=2;i++)
{
 lengths[i]=Convert.ToInt32(TriangleSideLengths[i]);
}
if(lengths[0]+lengths[1]>lengths[2])
   //go crazy
string[] TriangleSideLengths = { "10", "20", "300"};

int[] sides = new int[TriangleSideLengths.Length];

for (int i = 0; i < TriangleSideLengths.Length; i++)    
{       
    sides[i] = int.Parse(TriangleSideLengths[i]);    
}
int[] sides = new int[TriangleSideLengths.Length];
int counter=0;
foreach(var str in TriangleSideLengths)
{
   int.TryParse(str, out sides[counter++]);
}
if(sides[0] + sides[1] > sides[2]){...}
public int toInt(string text)
{
    int tonumber = int.Parse(text);
    return tonumber;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM