如果C#数组总长度确定,但是并未装满元素,如何求其最后一个元素的位置
3个回答
展开全部
string[] aaa = new string[] { "12", "23" };
List<string> ss = new List<string>();
int i = aaa.Length;
int x = ss.Count;
string _aaa = aaa[i - 1];//aaa 最后一个元素值
string _ss = ss[x - 1];//ss 最后一个元素值
追问
如果数组总长度为20,目前里面只有四个元素,但是一直在往里面加元素,但并未放满,怎么求最后一个元素的位置?
追答
string[] aaa = new string[10] { "12", "23", "", "", "", "", "", "", "", "" };
string _aaa = aaa[i - 1];//aaa 最后一个元素值
//第一种方法:(Linq)
var tt = from a in aaa where a != "" select a;
string i2 = tt.ToArray()[tt.Count() - 1];//数组中非""的最后一个元素
//第二种方法:(循环判断)
string lastElement;
foreach (string item in aaa)
{
if (item != "")
{
lastElement = item;
}
else
{
break;
}
}
展开全部
如果是string数组的话循环,当值不等于String.Empty时就说明有值,然后记录下标。其实可以用动态链表List的,长度可变化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好像没法判断啊,据我个人理解:数组在初始化的时候已经默认在每个位置上填0了,所以你没法判断哪些位置已经填充过元素哪些位置没有填充过元素。
你可以自己定义一个辅助变量来标识你自己最后一个填充元素的位置。
实在不行,就用List的吧,不过效率会差一点,如果数据量太大效率会差的比较多。
你可以自己定义一个辅助变量来标识你自己最后一个填充元素的位置。
实在不行,就用List的吧,不过效率会差一点,如果数据量太大效率会差的比较多。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询