精华内容
下载资源
问答
  • C# 数组操作 千次阅读
    2018-03-31 21:21:11

    数组复制

    (1).引用复制,易引起错误,不推荐
    int[] copy = array;
    
    (2).遍历拷贝
    
    int[] copy = new int[array .Length];
    
    for (int i = 0; i < array.length; i++)
    {
      copy[i] = array[i];
    }
    (3).使用CopyTo方法
    
    int[] copy = new int[array .Length];
    
    array.CopyTo(copy, 0);
    
    CopyTo方法用作将源数组全部拷贝到目标数组中,可以指定目标数组的起始索引,但需确保目标数组能容纳下源数组,CopyTo可用来合并多个数组
    
    
    
    (4).使用Array.Copy方法
    
    int[] copy = new int[array .Length];
    
    Array.Copy(array, copy, array.Length);
    
    Array.Copy方法可以将源数组的部分元素拷贝到目标数组中,三个参数时,可以指定源数组复制的元素数目(从第一个元素开始);五个参数时,不仅可以指定源数组复制的元素数目及起始索引,也能指定目标数组的起始索引。
    
    
    (5).使用Clone方法
    
    int[] copy=(int[])array.Clone();
    
    由于Clone的返回值类型是object,所以要强制转换为int[]

    数组拼接为字符串String Join 

    // 数字数组
    int[] newData=new int[200];
    ...
    string msg=string.Join(",", newData.Select(x => x.ToString("000")).ToArray(), 0, 150);//需要转换
    //字符数组
    
    string msg=string.Join(",", newData, 0, 150);
    更多相关内容
  • Array数组在C#中同样是最基本的数据结构,下面为大家C#数组的常用操作方法小结,皆为细小的代码段,欢迎收看收藏
  • C#数组基本操作

    千次阅读 2020-10-22 17:18:12
    万水千山总是情 , 先点个赞行不行 简介 C#提供了许多实现数组操作方法,这里列举最常用的一些操作进行说明。 数组排序和反转 语法 Array类的静态方法 Sort()可以实现数组的排序,无返回值。 语法格式如下: Array....

    • 博主写作不容易,孩子需要您鼓励
    • 万水千山总是情 , 先点个赞行不行

    简介

    C#提供了许多实现数组操作方法,这里列举最常用的一些操作进行说明。

    数组排序和反转

    语法

    Array类的静态方法 Sort()可以实现数组的排序,无返回值。

    • 语法格式如下:
    • Array.Sort(数组名);
      

      Array类的静态方法 Reverse()可以实现数组的反转,无返回值。

    • 语法格式如下:
    • Array.Reverse(数组名);
      

      实例

      			int[] a = { 1, 4, 5, 7, 3 };
                  Array.Sort(a);
                  Array.Reverse(a);
      
      ------------------------------------------------------------------------------------------
                                                    分割线
      ------------------------------------------------------------------------------------------
      

      查找数组元素

      语法

      Array类的静态方法 IndexOf()可以判断数组是否包含与给定值相等的元素,是则返回对应数组元素的下标,否则返回-1。

    • 语法格式如下:
    • Array.IndexOf(数组名);
      

      实例

      			int Index;
                  int[] a = { 1, 4, 5, 7, 3 };
                  Index = Array.IndexOf(a, 7);
                  Index = Array.IndexOf(a, 1);
      
      ------------------------------------------------------------------------------------------
                                                    分割线
      ------------------------------------------------------------------------------------------
      

      数组元素求和、最大值、最小值、平均值

      语法

      C#提供了方法 Sum()、Max()、Min()、Average()对数组元素进行统计。

    • 语法格式如下:
    • 数组名.Sum();
      
      数组名.Max();
      
      数组名.Min();
      
      数组名.Average();
      

      实例

      			int nResult;
                  double dResult;
                  int[] a = { 1, 4, 5, 7, 3 };
                  nResult = a.Sum();
                  nResult = a.Max();
                  nResult = a.Min();
                  dResult = a.Average();
      
      ------------------------------------------------------------------------------------------
                                                    分割线
      ------------------------------------------------------------------------------------------
      

      数组字符串相互转化

      语法

      String类的静态方法 Join()可以将数组中所有元素连接起来,生成一个字符串,返回值为该字符串。

    • 语法格式如下:
    • String.Join(分隔符, 数组名);
      

      注意Join()方法分隔符类型为字符串。

      String类的静态方法 Split()可以根据分隔符将字符串切分为多个部分,每个部分作为一个数组元素生成一个字符串数组,返回值为该字符串数组。

    • 语法格式如下:
    • 字符串变量.Split(分隔符);
      

      注意Split()方法分隔符类型为字符型。

      实例

      			string str1, str2;
                  int[] a = { 1, 4, 5, 7, 3 };
                  string[] b = { "this", "is", "a", "cat", "!" };
                  str1 = string.Join("", a);
                  str2 = string.Join("", b);
                  string str3="this is a cat !";
                  string[] c=str3.Split(' ');
      
      ------------------------------------------------------------------------------------------
                                                    分割线
      ------------------------------------------------------------------------------------------
      

      在字符串中查找、删除字符数组元素

      语法

      String类方法 IndexOfAny()用于在字符串中查找给定字符数组中的所有元素,返回字符数组元素在字符数组中首次出现的位置值,查找失败则返回-1。

    • 语法格式如下:
    • 字符串变量.IndexOfAny(字符数组名);
      

      String类方法 LastIndexOfAny()用于在字符串中查找给定字符数组中的所有元素,返回字符串数组元素在字符串中最后出现的位置值,查找失败则返回-1。

    • 语法格式如下:
    • 字符串变量.LastIndexOfAny(字符数组名);
      

      String类方法 Trim()可以在字符串的首部和尾部去除给定字符数组中的所有元素,返回操作后的字符串。

      字符串变量.Trim(字符数组名);
      

      实例

      			char[] a = { 'a', 't', 'i' };
                  string str1 = "This is a cat!";
                  int nIndex;
                  nIndex = str1.IndexOfAny(a);
                  nIndex = str1.LastIndexOfAny(a);
      
                  string str2;
                  char[] b = { 'T', 'h', 't' };
                  str2 = str1.Trim(b);
      
      ------------------------------------------------------------------------------------------
                                                    分割线
      ------------------------------------------------------------------------------------------
      
      • 博主简介:
      • 工业自动化上位机软件工程师、机器视觉算法工程师、运动控制算法工程师。目前从业于智能制造自动化行业。 博主邮箱:2296776525@qq.com
      • 帮忙点个赞吧。哈哈。
    展开全文
  • C#数组常用操作

    千次阅读 2020-02-29 11:22:19
    1、数组转自字符串,以字符分割方法 string[] array = { "A", "B", "C", "D" }; string str = string.Join(",", array);

    1、数组转自字符串,以字符分割方法(如果数据规范,可以讲数组转字符串,然后通过replace删除制定元素的数组)

    string[] array = { "A", "B", "C", "D" };
    string str = string.Join(",", array);
    

    1、转成arraylist删除数组,如果根据下标删除元素,需要重新算数组的长度

    string[] array = { "A", "B", "C", "D" };
    ArrayList arrlist = new ArrayList(array);
    arrlist.RemoveAt(i);
    
    展开全文
  • 关于C#数组进行的所有操作

    千次阅读 2018-11-30 13:28:17
    此页博客是我收集的所有关于数组操作,并不全面,会持续更新;大家有发现更多的操作方法可以评论留言,我会持续更新; 数组是相同类型的对象的集合。由于数组几乎可以为任意长度,因此可以使用数组存储数千乃至数...

    此页博客是我收集的所有关于数组的操作,并不全面,会持续更新;大家有发现更多的操作方法可以评论留言,我会持续更新;

    数组是相同类型的对象的集合。由于数组几乎可以为任意长度,因此可以使用数组存储数千乃至数百万个对象,但必须在创建数组时就确定其大小。数组中的每项都按索引进行访问,索引是一个数字,指示对象在数组中的存储位置或槽。数组既可用于存储引用类型,也可用于存储值类型。

                using System;  
                using System.Collections.Generic;  
                using System.Text;  
                 
                namespace ClassAboutArray  
                {  
                public class CreateArray  
                {  
    
    

    一维数组的定义

    
              /// <summary> 
            /// 一维数组的定义 
            /// </summary> 
            public void testArr1()  
            {  
            int[] myIntArr = new int[100];  
           //定义一个长度为100的int数组 
            string[] mystringArr = new string[100];  
            //定义一个长度为100的string数组 
          object[] myObjectArr = new object[100];  
         //定义一个长度为100的int数组 
             
            int[] myIntArr2 = new int[] { 1, 2, 3 };   
            //定义一个int数组,长度为3  
           string[] mystringArr2 = new string[] { "油", "盐" };  
           //定义一个string数组,长度为2  
            }  
    
    

    多维数组的定义

    
          
            /// <summary> 
            /// 多维数组的定义 
           /// </summary> 
            public void testArr2()  
            {  
            int[,] myIntArr = new int[10, 100];   
            //定义一个10*100的二维int数组 
            string[, ,] mystringArr = new string[2, 2, 3];   
            //定义一个2*2*3的三维string数组   
             
            int[,] myIntArr2 = new int[,] { { 1, 2, 3 }, { -1, -2, -3 } };  
            //定义一个2*3的二维int数组,并初始化 
            string[,] mystringArr2 = new string[,] { { "油", "盐" }, { "《围城》", "《晨露》" } };  
            //定义一个2*2的二维string数组,并初始化 
            }  
    
    

    交错数组的定义

    
          
            /// <summary> 
            /// 交错数组的定义 
            /// </summary> 
            public void testArr3()  
            {  
            int[][] myJaggedArray = new int[3][];  
            myJaggedArray[0] = new int[5];  
            myJaggedArray[1] = new int[4];  
            myJaggedArray[2] = new int[2];  
             
            int[][] myJaggedArray2 = new int[][]  
             {  
            new int[] {1,3,5,7,9},  
            new int[] {0,2,4,6},  
            new int[] {11,22}  
             };  
            }  
            }  
    
    

    使用GetLowerBound|GetUpperBound遍历数组

    
            
            public class TraverseArray  
            {  
            /// <summary> 
            /// 使用GetLowerBound|GetUpperBound遍历数组 
            /// </summary> 
            public void test1()  
            {  
            //定义二维数组 
            string[,] myStrArr2 = new string[,] { { "油", "盐" }, { "《围城》", "《晨露》" }, { "毛毛熊", "Snoopy" } };  
           //循环输出 
            for (int i = myStrArr2.GetLowerBound(0); i <= myStrArr2.GetUpperBound(0); i++)  
            {  
            Console.WriteLine("item{0}", i);  
            for (int j = myStrArr2.GetLowerBound(1); j <= myStrArr2.GetUpperBound(1); j++)  
            {  
            Console.WriteLine(" item{0}{1}:{2}", i, j, myStrArr2.GetValue(i, j));  
            }  
            }  
            }  
    
    

    使用foreach遍历数组

    
          
            /// <summary> 
            /// 使用foreach遍历数组 
            /// </summary> 
            public void test2()  
            {  
            //定义二维数组 
            string[,] myStrArr2 = new string[,] { { "油", "盐" }, { "《围城》", "《晨露》" }, { "毛毛熊", "Snoopy" } };  
           //循环输出 
            foreach (string item in myStrArr2)  
            {  
            {  
            Console.WriteLine("{0}", item);  
           }  
            }  
            }  
            }  
    
    

    利用Sort方法进行数组排序

    
         
            public class SortArray  
         {  
         /// <summary> 
        /// 利用Sort方法进行数组排序 
        /// </summary> 
         public void test1()  
         {  
         //定义数组 
        int[] myArr = { 5, 4, 3, 2, 1 };  
          
        //输出原始数组:原始数组:5->4->3->2->1-> 
        Console.WriteLine("原始数组:");  
         for (int i = 0; i < myArr.Length; i++)  
         Console.Write("{0}->", myArr[i]);  
        Console.WriteLine();  
          
       //对数组排序 
         Array.Sort(myArr);  
         
         //并输出排序后的数组:1->2->3->4->5-> 
         Console.WriteLine("排序以后数组:");  
         for (int i = 0; i < myArr.Length; i++)  
         Console.Write("{0}->", myArr[i]);  
         }  
    
    

    多个数组的关键字排序

    
          
        /// <summary> 
        /// 多个数组的关键字排序 
         /// </summary> 
        public void test2()  
        {  
         //定义数组 
         int[] arrSid = { 5, 4, 3, 2, 1 };  
         string[] arrSname = { "张三", "李四", "王五", "麻子", "淘气" };  
         
         //输出原始数组:原始数组:张三(5)->李四(4)->王五(3)->麻子(2)->淘气(1)-> 
        Console.WriteLine("原始数组:");  
         for (int i = 0; i < arrSid.Length; i++)  
         Console.Write("{0}({1})->", arrSname[i], arrSid[i]);  
         Console.WriteLine();  
         
       //根据学号关键字排序 
         Array.Sort(arrSid, arrSname);  
        
         //并输出排序后的数组:淘气(1)->麻子(2)->王五(3)->李四(4)->张三(5)  
        Console.WriteLine("排序以后数组:");  
         for (int i = 0; i < arrSid.Length; i++)  
        Console.Write("{0}({1})->", arrSname[i], arrSid[i]);  
        }  
         }  
    
    

    利用BinarySearch方法搜索元素

    
     
        public class SearchArray  
         {  
         /// <summary> 
        /// 利用BinarySearch方法搜索元素 
        /// </summary> 
       public void test1()  
         {  
        //定义数组 
         int[] myArr = { 5, 4, 3, 2, 1 };  
         
         //对数组排序 
        Array.Sort(myArr);  
         
         //搜索 
         int target = 3;  
        int result = Array.BinarySearch(myArr, target); //2  
         Console.WriteLine("{0}的下标为{1}", target, result); //2  
        }  
    
    

    判断是否包含某个值

    
      
         /// <summary> 
         /// 判断是否包含某个值 
         /// </summary> 
         public void test2()  
        {  
         //定义数组 
         string[] arrSname = { "张三", "李四", "王五", "麻子", "淘气" };  
         
         //判断是否含有某值 
         string target = "王五";  
         bool result = ((System.Collections.IList)arrSname).Contains(target);  
        Console.WriteLine("包含{0}?{1}", target, result); //true  
         }  
         }  
    
    

    利用Reverse方法反转数组

    
     
        public class ReverseArray  
        {  
         /// <summary> 
         /// 利用Reverse方法反转数组 
        /// </summary> 
         public void test1()  
         {  
        //定义数组 
        int[] myArr = { 5, 4, 3, 2, 1 };  
          
        //输出原始数组:原始数组:5->4->3->2->1-> 
         Console.WriteLine("原始数组:");  
        for (int i = 0; i < myArr.Length; i++)  
         Console.Write("{0}->", myArr[i]);  
        Console.WriteLine();  
        
         //对数组反转 
       Array.Reverse(myArr);  
         
         //并输出反转后的数组:1->2->3->4->5-> 
        Console.WriteLine("反转以后数组:");  
         for (int i = 0; i < myArr.Length; i++)  
        Console.Write("{0}->", myArr[i]);  
         }  
         }  
    
    

    利用Copy静态方法复制数组

    
         public class CopyArray  
         {  
         /// <summary> 
        /// 利用Copy静态方法复制数组 
        /// </summary> 
         public void test1()  
         {  
         //定义数组 
        int[] myArr = { 5, 4, 3, 2, 1 };  
         
         //输出原始数组:原始数组:5->4->3->2->1-> 
         Console.WriteLine("原始数组:");  
        for (int i = 0; i < myArr.Length; i++)  
         Console.Write("{0}->", myArr[i]);  
         Console.WriteLine();  
        
         //复制数组 
         int[] newnewArr = new int[3];  
         Array.Copy(myArr, newArr, 3);  
        
         //并输出反复制的数组:5->4->3-> 
        Console.WriteLine("复制数组:");  
         for (int i = 0; i < newArr.Length; i++)  
        Console.Write("{0}->", newArr[i]);  
        }  
    
    

    利用CopyTo实例方法复制数组

    
         /// <summary> 
         /// 利用CopyTo实例方法复制数组 
         /// </summary> 
         public void test2()  
         {  
         //定义数组 
         int[] myArr = { 5, 4, 3, 2, 1 };  
          
         //输出原始数组:原始数组:5->4->3->2->1-> 
         Console.WriteLine("原始数组:");  
         for (int i = 0; i < myArr.Length; i++)  
         Console.Write("{0}->", myArr[i]);  
         Console.WriteLine();  
          
         //复制数组 
         int[] newnewArr = new int[7];  
         myArr.CopyTo(newArr, 2);  
          
         //并输出反复制的数组:0->0->5->4->3->2->1-> 
         Console.WriteLine("复制数组:");  
         for (int i = 0; i < newArr.Length; i++)  
         Console.Write("{0}->", newArr[i]);  
         }  
         }  
    
    

    利用CreateInstance动态创建数组

    
         public class DynamicCreateArray  
         {  
         /// <summary> 
         /// 利用CreateInstance动态创建数组 
         /// </summary> 
         public void test1()  
         {  
         //定义长度数组 
         int[] lengthsArr = new int[] { 3, 4 };  
         int[] lowerBoundsArr = { 1, 11 };  
          
         Array arr = Array.CreateInstance(Type.GetType("System.Int32"), lengthsArr, lowerBoundsArr);  
          
         Random r = new Random(); //声明一个随机数对象 
         //循环赋值、输出 
         for (int i = arr.GetLowerBound(0) - 1; i < arr.GetUpperBound(0) - 1; i++)  
         {  
         for (int j = arr.GetLowerBound(1) - 1; j < arr.GetUpperBound(1) - 1; j++)  
         {  
         arr.SetValue((int)r.Next() % 100, i, j);//用1~100的随即数赋值 
         Console.WriteLine("arr[{0},{1}]={3}", i, j, arr.GetValue(i, j));  
         }  
         }  
         }  
         }  
        } 
    

    以上内容原文地址:https://www.cnblogs.com/chentao123/p/6507436.html

    展开全文
  • 下面小编就为大家带来一篇C#对多个集合和数组的操作方法(合并,去重,判断)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 本文实例讲述了C#中动态数组用法。分享给大家供大家参考。具体分析如下: ArrayList是一种动态数组,其容量可随着我们的需要自动进行扩充. ArrayList位于System.Collections命名空间中,所以我们在使用时,需要导入...
  • 主要介绍了C#实现将数组内元素打乱顺序的方法,涉及C#数组遍历及随机数操作的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
  • C#数组遍历

    2022-06-08 15:46:50
    数组的使用与遍历
  • C#数组添加值

    千次阅读 2020-01-22 16:13:48
    这可能是一个非常简单的方法-我从C#开始,需要向数组添加值,例如: int[] terms; for(int runs = 0; runs < 400; runs++) { te
  • C# 数组_C#动态数组详解整理

    千次阅读 2021-01-30 14:55:03
    一、C# 数组 Array 简介 namespace System public abstract class Array Array 类 (抽象类) 是C#中所有数组的基类,在System命名空间下。 使用如下: int[] nums = new int[] {1,2,3 }; Array 中定义的...
  • 将C语言封装成函数dll供C#端调用,需要传递的byte数组作为函数参数来传递。 1、打开Visual Studio2017创建一个C的dll工程;取名为Dll1 2、打开dllmain.cpp,增加一个byte数组元素求和的函数: Cal(unsigned char* ...
  • 他们接受字符数组做为变元,其他方法同上,返回数组中任何一个字符最早出现的下标位置。 如下 char [ ] bbv = { 's' , 'c' , 'b' } ; string abc = "acsdfgdfgchacscdsad" ; Response . Write ( abc ...
  • 主要介绍了C#数组中的某个元素取出来放到第一个位置的实现方法,涉及C#针对数组的常见操作技巧,非常具有实用价值,需要的朋友可以参考下
  • 三、Hashtable和Dictionary C#中的Hashtable和Dictionary都是以键值对形式存储的集合,哈希表未指定类型,会引发类型安全问题,同时使用时也会进行拆箱和装箱操作,比较耗费资源;字典指定类型,故保证类型安全,但...
  • c#数组和循环

    2020-12-26 09:36:02
    C#中不能把方括号放在数组名后面。 语法: 数据类型[] 数组名; 获得数组长度,通过数组的Length属性 语法: 数组名.Length 访问数组下标的元素使用的形式如下,下标从0开始,在C#中我们也把下标叫作索引。 语法...
  • 1.数组操作的传统做法 有过数组学习经验的人,应该都知道数组的访问可以按照下标直接访问,那么最直接的数组访问方式也即如此。 如果需要访问数组的后几个字母,那么我们只需要获取数组总长度,然后减去从后数的个数...
  • Array_C#数组学习_

    2021-10-03 15:32:09
    C#学习,关于数组的简单应用与基本操作,例程为自己学习过程的源码
  • C#中各种数组的性能比较 一维0基数组 交错数组 多维数组
  • 昨天有我的读者私信我说,不知道数组是干什么用的,我专门写一篇博客解释数组,同时也能为我们朋友解惑。 在你阅读这篇博客之前,你需要注意的是,这篇博客都是博主的个人理解,并不是官方的说法,如果有更好的建议...
  • C# 一维数组操作

    2017-03-25 16:43:55
    a) 随机生成一个一维数组数组元素个数可设置。 b) 对数组值进行求和、标准差、平均数、中位数。 c) 数组元素升序、降序排列 d) 插入、删除数组元素值 e) 输出各计算值
  • C# 数组删除元素

    万次阅读 2019-02-13 16:13:56
    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections;...namespace _1207_数组删除元素 { class Program { ...
  • C#数组及foreach遍历

    千次阅读 2020-02-17 18:40:59
    一维数组 数组用来将相同数据类型存储在存储单元里组成的构造类型,数组的每个成员称为一个数组元素。 一、一维数组的初始化 动态初始化 1.数据类型[] 数组名 = new 数据类型[数组长度];此时数组中每一个元素都是...
  • PAGE PAGE #/ 8 C#数组字节数组转换等 在 System 名称空间里面有许多跟 Array 操作相关的类其中 System.Array 类里面就提供了以下常用的方法 BinarySearch 使用二进制搜索算法在一维的排序 Array 中搜索值 Copy 将一...
  • C#数组集合方法和属性

    千次阅读 2019-01-20 19:20:46
    数组(Array): 一维简单数组 非静态方法 ​ GetLowerBound:获取索引下限 GetUpperBound:获取索引上限 GetValue:获取该索引上对应的值 SetValue:设置该索引上的值 属性: IsFixedSize:判断该数组的大小是否...
  • C#数组操作

    2010-11-24 14:10:00
     C# 数组从零开始建立索引,即数组索引从零开始。C#数组的工作方式与在大多数其他流行语言中的工作方式类似。但还有一些差异应引起注意。  声明数组时,方括号 ([]) 必须跟在类型后面,而不是标识符后面。在 ...
  • C#数组

    2021-02-06 14:41:15
    @(Net)[C#|Array]数组 是允许将多个数据项作为集合来处理的一种机制。CLR支持一维(如果此时数组索引从0开始,也被称为SZ(single-dimension,zero-base)、向量(Vector))、多维和交错数组(有数组构成的数组)。所有的...
  • 关于数组Array,ArrayList,泛型List,简单的说数组就是值对象,它存储数据元素类型的值的一系列位置.Arraylist和list可以提供添加,删除,等操作的数据. 具体如何进行选择使用呢,我们来详细探讨下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 111,181
精华内容 44,472
关键字:

c#数组操作

c# 订阅