C#中的方法,方法的重载,以及几个关键字

嘿嘿,今天来的早点啦,主要有问题解决不了,希望看到的亲们知道怎么整的给我说下,先谢谢哦:-D

<一>首先复习了三元表达式:即  表达式1,表达式2,表达式3;

举例: bool result = 5 > 3 ? true : false;

<二>随机数的产生,这个话说用的不多吧,但是还是知道的好 即:

Random r=new Random();
Int number=r.Next(1,11);产生1-10的数

这就是一方法吧,感觉挺好玩的,可以试下。

<三>然后学习了方法,我在云和学院学习,在这老师给我们的理解是:方法就是将一堆代码进行重用的一种机制。方法就是一段代码,这段代码可能有输入的值(参数),可能会返回值。一个方法就像一个专门做这件事的人,我们调用它来做一些事情,它可能需要我们提供一些数据给它,它执行完成后可能会有一些执行结果给我们。要求的数据就叫参数,返回的执行结果就是返回值。由于我们现在了解的还不多,所以老师只能简单的让我们了解了···

方法的定义:看见static就是静态方法

[访问修饰符] [static] 返回值类型 方法名()

{

方法体;

}

•命名规则:方法名开头大写,参数名开头小写,参数名、变量名要有意义

•方法的调用,对于静态方法,调用有两种方式

•如果在同一个类中,直接写名字调用就行了.

•或者类名.方法名();

•return可以立即退出方法.

今天也学习了几个实例,但是我写下我做的练习吧

(1)重复让用户输入一个数,判断该数是否是质数,输入q结束?质数的判断用方法来实现bool IsPrime(int number)

class Program
    {
       static void Main(string[] args)
        {
            Console.WriteLine("请输入一个数字:");
            int nums = int.Parse(Console.ReadLine());
            IsPrime(nums);
            Console.WriteLine(IsPrime(nums));
            Console.ReadKey();
        }
        public static bool IsPrime(int num)
        {
            int s=2;
            string nums = string.Empty;
            bool flag = false;
            for (int i = 1; i < s; i++)
            {
                flag = s % i == 0;
                if (nums == "q")
                {
                    break;
                }
            }
            Console.WriteLine("这是一个质数");
            return false;
        }
    }

在方法IsPrime中,需要把num转换成string,就是这句string nums = string.Empty;不知道该怎么改写,导致最后输出的不对,很纠结···

(2)用方法实现找出一个int类型数组中最大值和最小值

class Program
{
  static void Main(string[] args)
        {
            int[] nums ={23, 45, 12, 3, 2, 56, 58, 46, 59, 12};
            int num = Max(nums);
            int num0 = Min(nums);
            Console.WriteLine("最大的值{0}",num);
            Console.WriteLine("最小的值{0}", num0);
            Console.ReadKey();
        }
        /// <summary>
        /// 最大值
        /// </summary>
        /// <param name="arrey"></param>
        /// <returns></returns>
        public static int Max(int[] arrey)
        {
            int max = 0;
            for (int i = 0; i < arrey.Length; i++)
            {
                if (max < arrey[i])
                {
                    max = arrey[i];
                }
            }
            return max;
        }
        /// <summary>
        /// 最小值
        /// </summary>
        /// <param name="arrey"></param>
        /// <returns></returns>
        public static int Min(int[] arrey)
        {
            int min = 0;
            for (int i = 0; i < arrey.Length; i++)
            {
                if (min > arrey[i])
                {
                    min = arrey[i];
                }
            }
            return min;
        }
    }

这个方法比较简单,写方法比较简单,调用起来也没有好多搞不清楚让人晕的感觉。。。所以感觉自己还是需要多努力,多写几个方法调用练习啦···

(3)用户只能输入0到100之间的数写一个方法否则提示超出范围

class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("请输入一个数字:");
            int num = int.Parse(Console.ReadLine());
            Int(num);
            Console.WriteLine(num);
            Console.ReadKey();
        }
        public static int Int(int integ)
        {
            if (integ < 0 || integ > 100)
            {
                Console.WriteLine("超出范围");
            }
            return integ;
        }
    }

这个题也没有太难啦,所以就直接写出来啦···

(4)将一个字符串数组输出为|分割的形式,比如“梅西|卡卡|郑大世”(用方法来实现此功能)

class Program
    {
        static void Main(string[] args)
        {
            string[] nums = {"梅西","卡卡","郑大世" };
            Console.WriteLine(Dividing(nums));
            Console.ReadKey();
        }
        public static string Dividing(string[] array)
        {
            string name = string.Empty;
            for (int i = 0; i <array.Length; i++)
            {
                name += "|" + array[i];
            }
            return name;
        }
    }

这故事添加分隔符的,还可以啦,能写啦,嘿嘿····

这些都是今天的练习题,明天上课老师会讲的,但是我还是像现在搞懂啦,希望能够帮我拉······

<四>方法的重载,需要注意的是:方法名相同,但是可以是方法的方法的参数个数不同或者方法的类型不同···(这个对我自己说的,在方法中,返回值类型与参数的类型没有关系···),还有就是返回值类型不同不能定义同方法名的方法··········

举例看下:

这些 可以看到方法的重载的实例·········

<五> 关键字out和ref,举例如下:

(1)

class Program
    {
        static void Main(string[] args)
        {
            int x = 5;

            Add(ref x);
            Console.WriteLine(x);

            Console.ReadKey();
        }

        static int Add(ref int x)
        {
            x++;//被赋值一份后传进来的值
            return x;
        }

(2)

class Program
    {
        static void Main(string[] args)
        {
            int[] Array = {1,4,5,6,7,89 };
            int max;
            Max(Array,out max);
            Console.WriteLine(max);
            Console.ReadKey();

        }

        static void Max(int[] Array,out int max)
        {

            int m = 0;
            for (int i = 0; i < Array.Length; i++)
            {

                if (Array[i] > m)
                {
                    m = Array[i];
                }

            }
            max = m;

        }
    }

这两个关键字很重要哦(⊙o⊙)…  而且老师也告诉我们说要记得额··········今天就写到这啦,还要好多问题要解决啦········

时间: 2024-10-10 04:54:38

C#中的方法,方法的重载,以及几个关键字的相关文章

JAVA中继承时方法的重载(overload)与重写/覆写(override)

JAVA继承时方法的重载(overload)与重写/覆写(override) 重载-Override 函数的方法参数个数或类型不一致,称为方法的重载. 从含义上说,只要求参数的个数或参数的类型不一致就说两个函数是重载函数,而至于返回值是否一样,没关系.同时,重载可以发生在同一个类中也可以发生在继承关系中. class A { } class B extends A { public void fun(String data1) { System.out.println(data1); } pub

__slots__和运算符重载中的反向方法

问题的引出 都是字典惹的祸 字典为了提升查询效率,必须用空间换时间. 一般来说一个多想,属性多一点,都存储在字典中便于查询,问题不大. 但是如果数百万个对象,那么字典占的就有点大了. 这个时候,能不能把属性字典__dict__省了? python提供了__slots__ class A: x = 1 def __init__(self): self.y = 5 self.z = 6 def show(self): print(self.x,self.y,self.z) a = A() print

Python中的__new__()方法的使用

__new__() 函数只能用于从object继承的新式类. 先看下object类中对__new__()方法的定义: class object:   @staticmethod # known case of __new__   def __new__(cls, *more): # known special case of object.__new__     """ T.__new__(S, ...) -> a new object with type S, a s

JAVA中构造器和方法的区别点

要学习Java,你必须理解构造器.因为构造器可以提供许多特殊的方法,这个对于初学者经常混淆.但是,构造器和方法又有很多重要的区别. 下面将简单介绍一下 ,最后用一个表作了些简单的总结. 功能和作用的不同构造器是为了创建一个类的实例.这个过程也可以在创建一个对象的时候用到:Platypus p1 = new Platypus(); 相反,方法的作用是为了执行java代码. 修饰符,返回值和命名的不同构造器和方法在下面三个方便的区别:修饰符,返回值,命名.和方法一样,构造器可以有任何访问的修饰: p

Delphi 中同类型方法的说明

对象的方法能定义成静态(static).虚拟(virtual).动态(dynamic)或消息处理(message).请看下面 的例子: TFoo = class procedure IAmAStatic; procedure IAmAVirtual; virtual; procedure IAmADynamic; dynamic; procedure IAmAMessage(var M:TMessage); message wm_SomeMessage; end; 1. 静态方法 IAmASta

java中构造方法和方法全面解析

java中构造方法和方法全面解析 我相信大多说人都对构造方法.方法不陌生,而且很了解,但我也相信有很多像我这样的没有一个很好很清晰很全面的认识,今天就把它整理如下,希望能给大家带来点方便与帮助,也希望大家多多讨论.          构造方法和方法的区别: 构造方法要与类名相同,无返回类型,在类初始化的时候调用.      方法最好与类名不同,对象调用,静态方法可用类名.方法(). 构造器和方法在下面三个方面区别:修饰符,返回值,命名. 1.和方法一样,构造器可以有任何访问的修饰: public

C#中MessageBox使用方法大全(附效果图)

我们在程序中常常会用到MessageBox. MessageBox.Show()共同拥有21中重载方法.现将其常见使用方法总结例如以下: 1.MessageBox.Show("Hello~~~~"); 最简单的,仅仅显示提示信息. 2.MessageBox.Show("There are something wrong!","ERROR"); 能够给消息框加上标题. 3.if (MessageBox.Show("Delete this

使用Linq中的Distinct方法对序列进行去重操作

使用Linq提供的扩展方法Distinct可以去除序列中的重复元素. 该方法具有以下两种重载形式: (1)public static IEnumerable<TSource> Distinct<TSource>(this IEnumerable<TSource> source) (重载1) 通过使用默认的相等比较器对值进行比较并返回序列中的非重复元素. (2)publicstatic IQueryable<TSource> Distinct<TSour

解析Qt中QThread使用方法

本文讲述的是在Qt中QThread使用方法,QThread似乎是很难的一个东西,特别是信号和槽,有非常多的人(尽管使用者本人往往不知道)在用不恰当(甚至错误)的方式在使用QThread,随便用google一搜,就能搜出大量结果出来.无怪乎Qt的开发人员 Bradley T. Hughes 声嘶力竭地喊you are-doing-it-wrong 和众多用户一样,初次看到这个时,感到 Bradley T. Hughes有 些莫名奇妙,小题大作.尽管不舒服,当时还是整理过一篇博客QThread 的使

JQuery中ajax使用方法

AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. 传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面. 相比于原生AJAX五个步骤,JQuery中的ajax()就显的比较方便,简单实用. JQuery中的ajax()可以访问服务器中方法获得自己想要的参数值. /* *ajax校验验证码  小例子 */ $.ajax({ url:"/您想要请求的servlet位置",//要请求的servlet data:{method