您的位置:首页 > 编程语言 > C#

C# 指定格式的字符串截成一维数组(二维数组)的操作类

2011-08-15 12:52 721 查看
using System;

using System.Text;

namespace myClass

{

class clsArrayList

{

public
int p_Count=-1;
//数据组数

private string[] myArray1;
//一维矩阵

private string[,] myArray2;
//二维矩阵

///
<summary>

/// 一维字符串分隔,初始化.例: clsArrayList myArray1List=new clsArrayList("1;2;3;4;5",';')

///
</summary>

///
<param name="strStringSource"></param>

///
<remarks>gx 2010-04-25</remarks>

public clsArrayList(string strStringSource,
char charSepartor)

{

try

{

myArray1 = strStringSource.Split(charSepartor);//截取

p_Count
= myArray1.Length;

}

catch(Exception ex)

{

myClass.clsLogHelper.m_CreateErrorLogTxt("clsArrayList("
+ strStringSource
+ " ,
" + charSepartor
+ ")",
"", ex.Message.ToString());

}

}

///
<summary>

/// 二维字符串分隔,初始化. 例: clsArrayList myArray1List=new clsArrayList("1,A;2,B;3,C;4,D;5,E"
, ';' , ',')

///
</summary>

///
<param name="strStringSource"></param>

///
<param name="strColumnSepartor"></param>

///
<param name="strRowSepartor"></param>

///
<remarks>gx 2010-04-25</remarks>

public clsArrayList(string strStringSource,
char charColumnSepartor,
char charRowSepartor)

{

try

{

string[] strColumn;
//第一次截取 ";"

string[] strRow;
//第二次截取 ","

strColumn = strStringSource.Split(charColumnSepartor);//第一次截取

p_Count
= strColumn.Length;

myArray2 =
new
string[p_Count,
2];

for (int i
= 0; i
<= p_Count
- 1; i++)
//将数据保存 数组 myArray1 中

{

strRow = strColumn[i].Split(charRowSepartor);//第二次截取

myArray2[i,
0] = strRow[0];

myArray2[i, 1]
= strRow[1];

}

}

catch (Exception ex)

{

myClass.clsLogHelper.m_CreateErrorLogTxt("clsArrayList("
+ strStringSource
+ " ,
" + charColumnSepartor
+ " ,
" + charRowSepartor
+ ")",
"", ex.Message.ToString());

}

}

///
<summary>

/// 一维字符串,取值

///
</summary>

///
<param name="intIndex"></param>

///
<returns></returns>

public string m_GetItem(int
intIndex)

{

if (myArray1
== null)

{

return
"";

}

if (p_Count
== -
1)

{

return
"";

}

if (intIndex
> p_Count
- 1)

{

return
"";

}

else

{

return myArray1[intIndex];

}

}

///
<summary>

/// 二维字符串,取值

///
</summary>

///
<param name="intKeyIndex"></param>

///
<param name="intValueIndex"></param>

///
<returns></returns>

///
<remarks>gx 2010-04-25</remarks>

public string m_GetItem(int intKeyIndex,int
intValueIndex)

{

if (myArray2
== null)

{

return
"";

}

if (p_Count
== -1)

{

return
"";

}

if (intKeyIndex
> p_Count
- 1
|| intValueIndex
> 1)//Value为列,二维

{

return
"";

}

else

{

return myArray2[intKeyIndex, intValueIndex];

}

}

///
<summary>

/// 二维字符串,通过Value 获取Key ,例: m_GetKey("1")

///
</summary>

///
<param name="strValue"></param>

///
<returns></returns>

///
<remarks>gx 2010-04-25</remarks>

public string m_GetKey(string
strValue)

{

try

{

if (myArray2
== null)

{

return
"";

}

if (p_Count
== -1)

{

return
"";

}

for (int i
= 0; i
<= p_Count
- 1; i++)
//通过value查找key

{

if (myArray2[i,
1] == strValue)

{

return myArray2[i,
0];
//返回key的值

}

}

return
"";

}

catch(Exception ex)

{

myClass.clsLogHelper.m_CreateErrorLogTxt("clsArrayList("
+ strValue
+ ")",
"", ex.Message.ToString());

return
"";

}

}

///
<summary>

/// 二维字符串,通过Key 获取Value

///
</summary>

///
<param name="strKey"></param>

///
<returns></returns>

///
<remarks>gx 2010-04-25</remarks>

public string m_GetValue(string
strKey)

{

try

{

if (myArray2
== null)

{

return
"";

}

if (p_Count
== -1)

{

return
"";

}

for (int i
= 0; i
<= p_Count
- 1; i++)
//通过key查找value

{

if (myArray2[i,
0] == strKey)

{

return myArray2[i,
1];
//返回value的值

}

}

return
"";

}

catch(Exception ex)

{

myClass.clsLogHelper.m_CreateErrorLogTxt("m_GetValue("
+ strKey
+ ")",
"", ex.Message.ToString());

return
"";

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐