C# 数组 的一个简单算法,谁能帮帮忙!

作者&投稿:智贞 (若有异议请与网页底部的电邮联系)
一个很简单的C#数组问题~

List strArray=new List();
按钮1,2事件:
strArray.Add("1");

strArray.Add("2");

这样是保存所有的记录。 如果一定要最后2个的记录,你可以判断下Count,如果大于2 ,则删除第一个,(反正是每次都判断,所以删除第一个。)
点击change
string s1=strArray[strArray.Count-1];
string s2=strArray[strArray.Count];

C: int arr[];//arr是变量名,[]表示数组
C#: int[] arr;//int[]是Array的子类
C和C#对数组的看法是不一样的,前者认为数组是同类数据的顺序排列,是一种数据结构,而后者认为数组是一个类,int[]是这个类的派生,arr是派生类的实例,并且该arr也就具有了众多方法、属性等。
所以在C中这样写:int arr[];在C#中这样写int[] arr;

因为不清楚原数组a中到底有多少个满足条件的,另外你要把数据继续存入数组A。

一般这里有两个方法,首先一就是建立a[200],即使所有数都不满足去掉条件都可以保存下来。

另外一个方法就是直接a[100]。筛选过的数据存入数组b,完毕后,把b循环覆盖回a。这里要注意,覆盖回去后并不是a中所有数据都符合条件,只有a数组中b.Length之前的才符合数据。

具体如下

第一种方法:
//int []a =new int [200];
int num=0;
for(int i=0;i<100;i++)
{
if(i>10&&((a[1]==7)||(a[1]==9)))
{
a[100+num]=a[i];
num++;
}
}
//输出符合结果的数据
for(int i=0;i<num;i++)
{
Console.WriteLine(a[i+100].ToString());
}

第二种方法:

int [] b=new int [100];
int num=0;
for(int i=0;i<100;i++)
{
if(i>10&&((a[1]==7)||(a[1]==9)))
{
b[num]=a[i];
num++;
}
}
//输出
for(int i=0;i<num;i++)
{
Console.WriteLine(b[i].ToString());
}

**********************
ArrayList 类似可变数组。他在初始化时不用设定长度。

初始化ArrayList al=new ArrayList();

向里面加数据al.Add(object);

读取数据al[0];

应该对你有用。



我觉得使用集合简单方便,下面一些示例,希望你能参考
private void button1_Click(object sender, EventArgs e)
{
List<byte> a = new List<byte>();
List<byte> b = new List<byte>();
//初始化赋值
for (byte i = 0;i < 100 ;i++ )
{
a.Add(i);
}
MessageBox.Show(a.Count.ToString());
//选择满足条件数
for (byte i = 0; i < a.Count;i++ )
{
if ((int)a[i] / 10 == 7 || (int)a[i] / 10 == 9)
{
b.Add(i);
}
}
//删除满足条件数
foreach (byte i in b)
{
a.Remove(i);
}

}

//复制即可运行
using System;
using System.Collections.Generic;
using System.Text;

namespace aa
{
public class classTest
{
public static void Main()
{
int[] a = new int[100];
List<int> aa = new List<int>();

for (int i = 0; i < 100; i++)
{
a[i] = i;
aa.Add(a[i]);
}

for (int i = 0; i < a.Length; i++)
{
if ((a[i] >= 70 && a[i] < 80) || (a[i] >= 90 && a[i] < 100))
{
aa.Remove(a[i]);
}
}
a = new int[aa.Count];

for (int i = 0; i < a.Length; i++)
{
a[i] = (int)aa[i];
Console.Write("{0,4}", a[i]);
}
Console.ReadKey();
}
}
}
//____________________________________________________
//C#里定义int[]数组后 ,其长度是可以变得,重新new或者用
//Array.Resize()方法;

以下是思路,可能具体函数有出路
for(int i=0;i<100;i++)
{
a[i].ToString().Index(a[i].length-1,1) 判断7,9
if(a[i].ToString().Index(a[i].length-1,1)==7 || a[i].ToString().Index(a[i].length-1,1)==9)
{ a[i]=a[i].ToString().Index(a[i].length-2,a[i].length-2) +a[i].ToString().Index(a[i].length,1)
}
}

c的正确发音
答:c在英文字母中读作“ [si:]”。“c”是英语字母中的第三个字母,大写为“C”,小写为“c”。字母的含义:1、在数学及计算机科学中,表示十六进制的12。2、在化学中,表示碳的化学符号。3、在乐理中,表示音阶中的C音。4、在国际单位制的电荷中表示库仑。5、在营养学中,表示维生素C。6、在生...

c表示的三种意义
答:C有三种含义:碳元素、一个碳原子、金刚石(或者石墨)。碳(C)ⅣA族元素。可形成种类繁多的有机化合物,还能形成一系列无机化合物。国际纯粹与应用化学联合会1961年将12C=12确定为相对原子质量的相对标准。天然碳化合物中12C占98.892%(原子分数)、13C占1.108%(原子分数)。14C是在宇宙射线的影响...

c是什么?
答:c是字母符号。C(大写) 、c(小写)是英文字母顺数第三个,俄语字母顺数第19个。例如:英语单词cloud和“苏联”的俄语缩写СССР的第一个字母就是c。起源:(1)字母C的产生可能是由于一个投掷棒的符号,像在古埃及的象形文字里,并很早出现在闪族的书面当中-大约在公元前1500年的西奈半岛。(...

c的意思是怎么样的?
答:c的意思:1、在化学中,表示碳的化学符号。2、在乐理中,表示:音阶中的C音,调号中于C音开始的音乐的C大调及C小调,拍子记号中的4/4拍子。3、在罗马数字中,表示100。4、在国际单位制中,表示电荷量的单位“库仑”。5、在计算机科学中,有C语言、C++、C#、Objective-C等。6、在营养学中,表示...

c在化学中指什么意思
答:C在化学中有两种含义:1、表示浓度,单位为mol/L,计算式为:C=n/V. C=1000ρω/M。含义:以1升溶液中所含溶质的摩尔数表示的浓度。以单位体积里所含溶质的物质的量(摩尔数)来表示溶液组成的物理量,叫作该溶质的摩尔浓度,又称该溶质物质的量浓度。溶质含量越多,浓度越大。浓度可以用一定...

c是什么意思数学
答:C是数学中的一种常数,常出现在各种式子中。其代表的是一个固定的数值,通常用来表示某种特定的物理量或者数学常量。C的意义在不同的上下文中有所不同,比如C可能代表光速,圆周率或者其他数学上的常量。在数学上,C代表了需要用作计算基础的一些重要数值,因此不同的C值被广泛应用于各种数学分支中。在...

c在爱情的含义是什么
答:c在爱情的含义是什么,用各种各样的符号来代替我们想要表达的真实意思是我们对一份感情的含蓄表示,世间万物存在的意义就是我们赋予的内涵,下面分享c在爱情的含义是什么。 c在爱情的含义是什么1 C指的是现在流行的C型爱情观。 C型爱情观 “C型爱情观”指的是对现代爱情关一种新的定义。在爱情中,有进有退、...

c的大写字母是什么?
答:c的大写字母是C。占四线格的中格,注意要留出一个缺口,不要封住。26个字母英语大小写分别为Aa、Bb、Cc、Dd、Ee、Ff、Gg、Hh、Ii、Jj、Kk、Ll、Mm、Nn、Oo、Pp、Qq、Rr、Ss、Tt、Uu、Vv、Ww、Xx、Yy、Zz。书写英语字母时要按照字母的笔画和字母在三个格中所占据的位置书写,同时每个字母都...

c是什么意思的缩写?
答:c是什么意思的缩写1 C是cell英语名称的简称,意思是细胞。词汇解析:cell 基本词汇 英 [sel] 美 [sel]n. 单人牢房;小房间;细胞;蜂房的巢室;电池;政治小组;(计算机电子表格的)单元格;手机 The prisoner was locked in a cell.那囚犯被关在单人牢房内。diseased cell 发生病变的细胞 d...

为什么c是组合?
答:C表示的是组合。C右上角是3,右下角是5,就是说从5个东西选出3个东西的排列组合(与顺序无关)有多少个,计算方法:5!/3!*(5-3)!=1*2*3*4*5/1*2*3*1*2=10 跟据任意两边和大于第三边。即为从5个数字里面选出3个数字的组合,有10个,减去不成立的(3,4,7)1个;加上等腰三角...