我有這樣的清單:
List<string> myList = new List<string>()
{
"AS2258B43C014AI9954803",
"AS2258B43C014AI9954603",
"AS2258B43C014AI9954703",
"AS2258B43C014AI9954503",
"AS2258B43C014AI9954403",
"AS2258B43C014AI9954203",
"AS2258B43C014AI9954303",
"AS2258B43C014AI9954103",
};
我想輸出一些格式是 sameString diffString0\diffString1\diffString2.... 像這樣“AS2258B43C014AI9954803\603\703\503\403\203\303\103”
我該怎么辦?
uj5u.com熱心網友回復:
您可以創建一個方法來回傳字串之間的差異:
private static string GetDiff (string s1, string s2)
{
int i;
for(i = 0; i < Math.Min(s1.Length,s2.Length); i )
{
if(s1[i] != s2[i])
{
break;
}
}
return s2.Substring(i);
}
此方法迭代直到第一個不同的字符并回傳第二個字串的剩余字符。
使用該方法,您可以通過 LINQ 查詢獲得結果:
string first = myList[0];
string result = first "/" string.Join("/", myList.Skip(1).Select(x => GetDiff(first,x)));
在線演示:
之后你可以找到不同之處
uj5u.com熱心網友回復:
最簡單的解決方案是創建一個這樣的函式:
public static string Output(List<String> ListString)
{
string sameString = ListString.First().Substring(0, 18);
string output = sameString;
foreach (var item in ListString)
{
output = item.Substring(19);
output = "\\";
}
return output.Substring(0, output.Length - 1);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/363628.html
