上一篇文章用Java方法写出了可以对数组执行的功能,然后在用实例化后的对象调用这些方法来实现这些功能;

这篇随笔改用C#语言实现同样的功能

方法类:Array

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApplication1
{
class Array
{
/// <summary>
/// 遍历数组并输出
/// </summary>
/// <param name="arr"></param>
/// <returns></returns>
public int[] showArr(int[] arr) {
for (int i = ; i < arr.Length;i++ )
{
Console.Write(arr[i]+" ");
}
return arr;
} /// <summary>
/// 创造一个复制数组的方法arrCopy()
/// </summary>
/// <param name="arr"></param>
/// <returns></returns>
public int[] arrCopy(int[] arr) {
int[] fuzhi = new int[arr.Length];
for(int i=;i<arr.Length;i++){
fuzhi[i] = arr[i];
}
//复制后遍历新的数组并输出
Console.WriteLine("复制后的数组为:");
for (int i = ; i < fuzhi.Length;i++ )
{
Console.Write(fuzhi[i]+" ");
}
return fuzhi;
}
/// <summary>
/// 设置一个实现数组的反转的方法fanZhuan()
/// </summary>
/// <param name="arr"></param>
/// <returns></returns>
public int[] fanZhuan(int[] arr) {
for (int i = ; i < arr.Length / ;i++ )
{
//直接调用交换方法
jiaoHuan(arr,i,arr.Length-1-i);//交换数组中的arr[i]和arr[arr.Length-1-i]
//int temp = ;
//temp = arr[i];
//arr[i] = arr[arr.Length - - i];
//arr[arr.Length - - i] = temp;
}
return arr;
}
/// <summary>
/// 冒泡排序的方法sort()
/// </summary>
/// <param name="arr"></param>
public void sort(int[] arr)
{
for (int i = ; i < arr.Length-; i++)//总共跑arr.Length趟排好顺序
{
for (int j = ; j <arr.Length--i;j++ )//每趟比较的次数
{
if (arr[j] > arr[j+]){
//这里的交换代码可以直接调用下面定义好的交换方法
//int temp = arr[j];
//arr[j] = arr[j+];
//arr[j+] = temp;
jiaoHuan(arr,j,j+1);//调用交换方法把j和j+1交换位置
}
}
}
}
//把这部分交换数组元素位置的代码写在一个方法中
public void jiaoHuan(int[] arr,int i,int j){//注意这个方法是怎么传参的******注意
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}

主方法类:Program

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
//创建一个数组arr
int[] arr = new int[] { , , , -, , -, , };
//初始化Array类
Array a1 = new Array();
a1.arrCopy(arr);//调用复制数组的方法arrCopy() Console.WriteLine("\n反转后的数组为:");
a1.fanZhuan(arr);//调用反转方法实现数组的反转
a1.showArr(arr);//反转后遍历数组arr Console.WriteLine("\n冒泡排序后的数组为:");
a1.sort(arr);//调用方法对arr排序
a1.showArr(arr); Console.ReadKey();
}
}
}

运行结果:

C#面向对象的方法写数组的功能的更多相关文章

  1. 【blade04】用面向对象的方法写javascript坦克大战

    前言 javascript与程序的语言比如C#或者java不一样,他并没有“类”的概念,虽然最新的ECMAScript提出了Class的概念,我们却没有怎么用 就单以C#与Java来说,要到真正理解面 ...

  2. C#:.net/方法/字符串/数组

    C#:.net/方法/字符串/数组,那点事 首先还是先说下(几个概念的东西)c#下的.net平台的构造快及其功能作用和程序集: .net: .net平台是由:a:运行库+b:全面基础类库(这个是从程序 ...

  3. [.net 面向对象编程基础] (17) 数组与集合

    [.net 面向对象编程基础] (17) 数组与集合 学习了前面的C#三大特性,及接口,抽象类这些相对抽象的东西以后,是不是有点很累的感觉.具体的东西总是容易理解,因此我们在介绍前面抽象概念的时候,总 ...

  4. javascript小实例,多种方法实现数组去重问题

    废话不多说,直接拿干货! 先说说这个实例的要求:写一个方法实现数组的去重.(要求:执行方法,传递一个数组,返回去重后的新数组,原数组不变,实现过程中只能用一层循环,双层嵌套循环也可写,只做参考): 先 ...

  5. Spring AOP 实现写事件日志功能

    什么是AOP?AOP使用场景?AOP相关概念?Spring AOP组件?如何使用Spring AOP?等等这些问题请参考博文:Spring AOP 实现原理 下面重点介绍如何写事件日志功能,把日志保存 ...

  6. javascript多种方法实现数组去重

    先说说这个实例的要求:写一个方法实现数组的去重.(要求:执行方法,传递一个数组,返回去重后的新数组,原数组不变,实现过程中只能用一层循环,双层嵌套循环也可写,只做参考): 先给初学者解释一下什么叫数组 ...

  7. Java方法_数组

    /* 方法:完成特定功能的代码块.   注意:在很多语言里面有函数的定义,而在Java中函数被称为方法.   方法格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) { ...

  8. CMM模型,结构化开发方法和面向对象开发方法的比较,UML(统一建模语言),jackson开发方法

    CMM模型 一.CMM简介 CMM,英文全称为Capability Maturity Model for Software,即:软件成熟度模型. CMM的核心是把软件开发视为一个过程.它是对于软件在定 ...

  9. NumSharp的数组切片功能

    NumSharp的数组切片功能 原文地址:https://medium.com/scisharp/slicing-in-numsharp-e56c46826630 翻译初稿(英文水平有限,请多包涵): ...

随机推荐

  1. Andrew Ng机器学习公开课笔记 -- Online Learning

    网易公开课,第11课 notes,http://cs229.stanford.edu/notes/cs229-notes6.pdf   和之前看到的batch learning算法不一样,batch ...

  2. Grid组件 列头居中

    在grdMain组件中的 class中设置“ x-grid-title-center ”

  3. 如何离线安装chrome插件【转】

    http://blog.csdn.net/shuideyidi/article/details/45674601 原文链接 前言------可以不看: 实习做web,要弄单点登录SSO和验证Contr ...

  4. IE 的resize事件问题

    window的resize事件,真的让人无语! 我在动态设置元素的HTML内容后,窗口高度变化了,可是却不触发resize事件. 但是我在访问document.documentElement.scro ...

  5. 用正则验证字符串格式,形如:A)XXX B)XXXX C)XXX

    今天遇到个小功能,要验证某个英文选项是否正确,例如:A)accumulate B)circling C)communities  D)competition  E)domestic F)financi ...

  6. hadoop-2.7.3 在windows环境下安装(无需Cygwin)

    http://blog.csdn.net/kokjuis/article/details/53537029

  7. js实现表格中不同单元格内容的替换(不同浏览器的节点属性兼容问题)

      ------->   效果:点击右下角单元格,左下角单元格内容被替换成和左上角相同,如上图所示. 实现方式:分别获取各个节点,并将左边节点的内容修改成左上方节点的内容. 代码: 注意的地方: ...

  8. [LeetCode] Combination Sum II (递归)

    Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in ...

  9. A Framework for Programme Management

    In business today organisations manage multiple projects concurrently with shared or overlapping res ...

  10. 我的工具箱之Putty

    这是类似于SecureCrt的终端仿真软件,个人感觉比SecureCrt差一点. 下载地址是:http://pan.baidu.com/s/1sko0GrF SecureCrt网址在我的工具箱之Sec ...