如何取一个2维数组的一部分值 有2维数组定义如下string[,] strParam = new string[A, B];(A,B都是数字喽)我想取所有A下标小于1000的数组元素,怎么取阿 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 for .. for ... for(int i=0[i<1000;i++){if(i<strParam.GetUpperBound(0)){for(int ii=0;ii>strParam.GetUpperBound(1);ii++){}}} string[,] strParam = new string[2000,10];string[,] strPar=new string[1000,10]; for(int i=0;i<1000;i++) { for(int j=0;j<10;j++) { strPar[i,j]=strParam[i,j]; } } "我想取所有A下标小于1000的数组元素,怎么取阿 "疑问: (1) A下标小于1000的数组元素。 小于1000,是指strParam[2000,10]里一维下标小于1000的数组元素的值? (2) A下标小于1000的数组元素。 小于1000,是指strParam[2000,10]所有值小于1000的元素(即取得元素下表)? 估计是这种情况吧: 取数组中所有元素值小于1000的元素的值。 if strParam[x,y] < 1000 then outPut strParam[x,y]。 public string[] GetArray(string[,] strParam) { int strParamLength = strParam.GetLength(0); int strParamSubLength = strParam.GetLength(1); string[] lessValue = new string[strParamLength]; int outArrayDimension = 0; for (int dimension1 = 0; dimension1 < strParamLength; dimension1++) { for (int dimension2 = 0; dimension2 < strParamSubLength; dimension2++) { int errorValue = 2000; if (int.TryParse(strParam[dimension1, dimension2], out errorValue) && int.Parse(strParam[dimension1, dimension2]) < 1000) { lessValue[outArrayDimension] = strParam[dimension1, dimension2]; //get値 outArrayDimension++; } } } return lessValue; }lessValue数组中存的值,但是从lessValue数组中取这些小于1000的值时要判断lessValue[i] != null; 改了楼上兄弟一点点.. public string[] GetArray(string[,] strParam) { int strParamLength = strParam.GetLength(0); int strParamSubLength = strParam.GetLength(1); string[] lessValue = new string[strParamLength*strParamSubLength]; for (int dimension1 = 0; dimension1 < strParamLength; dimension1++) { for (int dimension2 = 0; dimension2 < strParamSubLength; dimension2++) { int errorValue = 2000; if (int.TryParse(strParam[dimension1, dimension2], out errorValue) && int.Parse(strParam[dimension1, dimension2]) < 1000) { lessValue[dimension1*strParamSubLength+dimension2] = strParam[dimension1, dimension2]; //get値 } } } return lessValue; } [Quote=引用 7 楼 zhiguo2008 的回复:] 改了楼上兄弟一点点.. 改得好! vs2005制作水晶报表时推模式下dataset1下显示的是"...未找到项目..." 为什么我用C#连接不上数据库 请问如何解决C/S聊天程序乱码问题! VB.NET中TreeView的设置问题 WPF .xaml取值问题 如何处理Datatable与DataGridView索引值不一致的问题! dataGridView1在设计时如何调整列宽? VS2010如何配置Fredtextbox组件 我添加引用中COM组件里没有Microsoft Web Browser怎么办? 请问如何实现 批量打印从数据库中查询到的文件 关于usbkey的问题。 高手指教
for ...
{
if(i<strParam.GetUpperBound(0))
{
for(int ii=0;ii>strParam.GetUpperBound(1);ii++)
{}}
}
string[,] strPar=new string[1000,10]; for(int i=0;i<1000;i++)
{
for(int j=0;j<10;j++)
{
strPar[i,j]=strParam[i,j];
}
}
(1) A下标小于1000的数组元素。 小于1000,是指strParam[2000,10]里一维下标小于1000的数组元素的值?
(2) A下标小于1000的数组元素。 小于1000,是指strParam[2000,10]所有值小于1000的元素(即取得元素下表)?
取数组中所有元素值小于1000的元素的值。 if strParam[x,y] < 1000 then outPut strParam[x,y]。
public string[] GetArray(string[,] strParam)
{
int strParamLength = strParam.GetLength(0);
int strParamSubLength = strParam.GetLength(1); string[] lessValue = new string[strParamLength];
int outArrayDimension = 0; for (int dimension1 = 0; dimension1 < strParamLength; dimension1++)
{
for (int dimension2 = 0; dimension2 < strParamSubLength; dimension2++)
{
int errorValue = 2000;
if (int.TryParse(strParam[dimension1, dimension2], out errorValue) && int.Parse(strParam[dimension1, dimension2]) < 1000)
{
lessValue[outArrayDimension] = strParam[dimension1, dimension2]; //get値
outArrayDimension++;
}
}
} return lessValue;
}
lessValue数组中存的值,但是从lessValue数组中取这些小于1000的值时要判断lessValue[i] != null;
public string[] GetArray(string[,] strParam)
{
int strParamLength = strParam.GetLength(0);
int strParamSubLength = strParam.GetLength(1); string[] lessValue = new string[strParamLength*strParamSubLength]; for (int dimension1 = 0; dimension1 < strParamLength; dimension1++)
{
for (int dimension2 = 0; dimension2 < strParamSubLength; dimension2++)
{
int errorValue = 2000;
if (int.TryParse(strParam[dimension1, dimension2], out errorValue) && int.Parse(strParam[dimension1, dimension2]) < 1000)
{
lessValue[dimension1*strParamSubLength+dimension2] = strParam[dimension1, dimension2]; //get値
}
}
} return lessValue;
}
改了楼上兄弟一点点..
改得好!