上一篇文章用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. git 解决冲突

    $ git push origin master To /home/fan/repo/code/../a.git/ ! [rejected] master -> master (fetch fi ...

  2. 图片lightbox2

    1. 官网下载 http://lokeshdhakar.com/projects/lightbox2/ 2.引入 css  jquery  js 3. HTML格式 <a href=" ...

  3. flat file

    Computer Science An Overview _J. Glenn Brookshear _11th Edition The term database refers to a collec ...

  4. Java Map遍历方式的选择

    [原文] 1. 阐述 对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多.理由是:entrySet方法一次拿到所有key和value的集合:而keyS ...

  5. 蓝牙Host Controller Interface笔记

    1.概述     HCI提供了一个统一的使用蓝牙控制器(BR/EDR Controller,BR/EDR/LE Controller,LE Controller,AMP Controller等)的方法 ...

  6. Lambda 中如果构建一个查询条件,扔该Where返回我们需要的数据。

    有一个需求,比如所 省市县 这三个查询条件 都可能有可能没有,但是我们的查询条件怎么构建呢 首先需要看一下 Lambda中Where这个方法需要什么参数 public static IEnumerab ...

  7. java JDK8 学习笔记——第11章 线程和并行API

    第11章 线程与并行API 11.1 线程 11.1.1 线程 在java中,如果想在main()以外独立设计流程,可以撰写类操作java.lang.Runnable接口,流程的进入点是操作在run( ...

  8. about eclipse

    导出javadoc command选择bin下的javadoc.exe 配置编码和文字 英文:-locale en_US -encoding UTF-8 -charset UTF-8 中文:-loca ...

  9. 位与(&)常用编程技巧

    补充知识:1)正整数的补码与原码相同:                2)求负整数的补码:原码 符号位不变,数值位各位取反,最后整个数加1得到补码:                3)按位与& ...

  10. Almost Sorted Array---hdu5532(简单dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5532 题意:问一个含有n个数的序列,删除一个数后是否有序(递增或递减都可以) 我们只要求一下最长上升子 ...