日期:2014-05-17  浏览次数:20835 次

关于复制函数
我想找一个从某一位开始复制字符串到另一个string,比如:把abcdefg的后三位复制到另一个空字符串中
下面代码该怎么修改(我想把display中的字符串按照47byte个字节复制到disp中) 
C# code

string[] display = new string[] {  "統計資料 = 總共測試【測試筆數】筆,通過【通過筆數】筆,不通過"};
string disp = "";
int pos = 0;
display[1].CopyTo(pos * 47, disp, pos * 47, 47); 


这个怎么修改?

------解决方案--------------------
直接substring取出来后三位不就行了
或者用Array.Copy
------解决方案--------------------
...我都看晕了,又byte又string,你到底想复制byte还是string?复制byte用Buffer.BlockCopy,Array.Copy就复制任意,至于string,你还是看下字符串基本操作好,别想得那么复杂,里面有增(Insert)删(Remove)改(Replace)查等等,还有其他什么Substring,Split等
------解决方案--------------------
string s = "統計資料 = 總共測試【測試筆數】筆,通過【通過筆數】筆,不通過";
byte[] b = Encoding.UTF8.GetBytes(s);
for (int i = 0; i <= b.Count() / 47; i++)
{
byte[] sub_b = b.Skip(i * 47).Take(47).ToArray(); //你要的
}
------解决方案--------------------
string[] source = new string[] { "123", "abc", "hello" };
string result = string.Join("", source);