日期:2014-05-19  浏览次数:20838 次

string可以相加, string[]数组能相加么?在线等
string可以相加,   string[]数组能相加么?在线等.............

------解决方案--------------------
如果相加可以和List <string> 类型的变量来存储字符串,而不使用数组.
------解决方案--------------------
String[] strs = ...
String.Join( strs , " " )
------解决方案--------------------
关键字 StringBuilder 封装了有关字符串的操作,记得没错可以直接操作string[]
------解决方案--------------------
用一个函数来实现吧
public string[] Add(string[] temp1, params string[] temp2)//两个字符串数组
{
string [] newStr=new string[temp1.Length+temp2.Length];
int i=0;
foreach (string a in temp1)
{
newStr[i] = a;
i++;
}
foreach (string a in temp2)
{
newStr[i] = a;
i++;
}
return newStr;
}

////////////

string[] str ={ "a ", "1 " };
string[] str1=Add(str, "b ", "xy " );
//////或则
string[] str ={ "a ", "1 " };
string[] str1 ={ "b ", "xy " };
string[] str2=Add(str,str1);

------解决方案--------------------
public class UrClass
{
public Main()
{
string[] Alist = new string[]{...,...}
string[] Bist = new string[]{...,...}
string CombinedString = AppendStringList(Alist) + AppendStringList(BList);
}

private string AppendStringList(string[] aList)
{
string result = string.Empty;
foreach(string s in aList)
{
result = TextHandler.BuildString(result,s);
}
return result;
}
}


public sealed class TextHandler
{
private static StringBuilder sBuilder = new StringBuilder();

private static void ClearBuilder(StringBuilder builder)
{
builder.Remove(0, sBuilder.Length);
}

public static string BuildString(params string[] strings)
{
ClearBuilder(sBuilder);
foreach (string s in strings)
{
sBuilder.Append(s);
}
return sBuilder.ToString();
}

public static string BuildStringEachLine(params string[] strings)
{
ClearBuilder(sBuilder);
foreach (string s in strings)
{
sBuilder.AppendLine(s);
}
return sBuilder.ToString();
}

public static string BuildFormatedString(string format, params object[] args)
{
ClearBuilder(sBuilder);
sBuilder.AppendFormat(format, args);
return sBuilder.ToString();
}
}