zoukankan      html  css  js  c++  java
  • c#新手之1-如何组织类及相互调用

    不知道这个文章的名字起的对不对,姑且这么叫吧。我在这之前用c语言写程序几乎很少用函数调用来解决问题,都是用全局变量然后面向过程对数据做简单的处理,这就造成了我在学习c@之后仍有这个毛病,好点的时候有个函数调用还把所有的类都写在Program.cs这个默认的类中,知道这种写法不规范,但也没试着改过。今天决定以后一个类就新建一个 *.cs。

    首先以一个解决方案中有一个项目来,一个项目仅有两个类来举例。

    文档组织结构图如下所示:

    其中第一个类也就是默认的类为Program.cs,其中包括Main函数,整个项目就是简单地计算一下加法,代码如下:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace 类的调用
     8 {
     9     class Program
    10     {
    11         static void Main(string[] args)
    12         {
    13             Console.WriteLine("请输入第一个加数:");
    14             string add1 = Console.ReadLine();
    15             Console.WriteLine("请输入第二个被加数:");
    16             string add2 = Console.ReadLine();
    17             AddMethod myAdd = new AddMethod();
    18             Console.WriteLine("{0}+{1}={2}", Convert.ToDouble(add1),add2,myAdd.Add  (Convert .ToDouble (add1 ),Convert .ToDouble (add2 )));
    19             Convert.ToDouble(add1);
    20             Console.ReadKey();
    21         }
    22     }
    23 }
    Program.cs
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace 类的调用
     8 {
     9    public class AddMethod
    10     {
    11        public double Add(double x, double y)
    12        {
    13            return x+y;
    14        }        
    15     }
    16 }
    AddMethod.cs

    需要注意的是:类文档的名字在c#中没有必要像java中一样与文档代码中类名保持一致,但最好保持一致,且类名不得与关键字冲突。若感觉类文档名字不合适想改的话,可以直接在文档组织结构图中对类文档名右键重命名,发现文档中对应类名也会自动做相应修改(版本VS2012)。

    还需要注意的是像

    string add1 = Console.ReadLine();

    Console.WriteLine("{0}+{1}={2}", Convert.ToDouble(add1),add2,myAdd.Add  (Convert .ToDouble (add1 ),Convert .ToDouble (add2 )));

    这些控制语句不要写在新建类中,直接写在main函数中就行。

  • 相关阅读:
    正则表达式转换python2的print为python3风格
    译:Local Spectral Graph Convolution for Point Set Feature Learning-用于点集特征学习的局部谱图卷积
    Objectbox Box的getAll() 函数返回emptylist() 未判断导致崩溃
    关于定义顺序和内存分配的关系--记一道不严谨的C语言题
    iRecognizer号码扫描开发实录
    我的visual studio 配色方案 Rubik c++版
    Opencv4android的Android Studio环境配置及项目实例下载
    随便记录下
    linux下在先安装32位qt 链接
    python笔记
  • 原文地址:https://www.cnblogs.com/zhubinglong/p/5838664.html
Copyright © 2011-2022 走看看