读书人

最近被一个对象数组有关问题,搞晕了,不

发布时间: 2012-01-23 21:57:28 作者: rapoo

最近被一个对象数组问题,搞晕了,不知道该怎么取出,请施以援手谢谢了

接收到的数据 A22E3R501T6

想分切成
A22
E3
R501
T6

处理的代码

string[] spliteStr = { ";" };
string[] SendArray = SendCode.Split(spliteStr, StringSplitOptions.RemoveEmptyEntries);
object[] oSendArray = new object[SendArray.Length / 2];
for (int i = 0; i < SendArray.Length; i += 2)
{
object[] oSend = new object[2];
oSend[0] = SendArray[i];
oSend[1] = Convert.ToInt32(SendArray[i + 1]);
oSendArray[i / 2] = oSend;
}
产生了数组 付给了 object[] o = new object[19]; o[1]=oSendArray; 传出去了

已经OK

问题是 我该怎么在其它方法那里 再取出产生的对象

[解决办法]
1、声明全局变量

C# code
object[] oSendArray = null
[解决办法]
产生了数组 付给了 object[] o = new object[19]; o[1]=oSendArray; 传出去了

o是不是做为一个函数的返回值了?如果是,接收返回值的地方可以这样处理:

C# code
object[] acceptO=...O;object[] thisO;thisO=acceptO[1] as object[];if (thisO != null){...}
[解决办法]
/// <summary>
/// 提取分割没有分割符的string (须添加 using System.Text.RegularExpressions;)
/// </summary>
/// <param name="sendString"> 需要分割的字符串</param>
/// <param name="pattern">分割需要匹配的正则表达式字符</param>
/// <returns> 分割后得到的数组(当然此处也可以返回其他格式的东西)</returns>
public static string[] SplitStringWithoutSplitChar(string sendString, string pattern)
{
Regex regex = new Regex(pattern);
MatchCollection mc = regex.Matches(sendString);
string[] OPstring = new string[mc.Count];
for (int i = 0; i < mc.Count; i++)
{
OPstring[i] = mc[i].Value;
}
return OPstring;
}
此处.
string sendcode = "A22B301K2T6";
string pattern = "[A-Z][0-9]*";
string[] splitString ;
splitString = SplitStringWithoutSplitChar(sendcode, pattern) ;
//
[解决办法]
确实,从楼主的代码中没法看明白前面描述的处理逻辑

纯粹从所描述的数据处理要求来看,用正则表达式比较方便,楼上的算法正确
探讨
/// <summary>
/// 提取分割没有分割符的string (须添加 using System.Text.RegularExpressions;)
/// </summary>
/// <param name="sendString"> 需要分割的字符串 </param>
/// <param name="pattern">分割需要匹配的正则表达式字符 </param>
/// <returns> 分割后得到的数组(当然此处也可以返回其他格式的东西) </returns>
public static string[] SplitStringWithoutSplitChar(string sendString, string pattern…

读书人网 >C#

热点推荐