首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c#新手学习怎么使用类

2013-04-12 
c#新手学习如何使用类写了一小代码,因为没有学习过OOP,请教大大们,如果这段代码改为用类方法来编写,我应该

c#新手学习如何使用类
写了一小代码,因为没有学习过OOP,请教大大们,如果这段代码改为用类方法来编写,我应该如何写,两个函数定义为两种方法,如何使用,我应该如何来定义类成员。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;

namespace ConsoleApplication1
{
    class Program
    {
        static int getMonth1(DateTime date1, DateTime date2) 
        { 
            int year1 = date1.Year; 
            int year2 = date2.Year; 
            int month1 = date1.Month; 
            int month2 = date2.Month; 
            int a=year2-year1;
            int months;
            if (a == 0)
            {
                months = month2 - month1;
            }
            else 
            {
                months = month2;
            }
            return months; 
        }

        static string mysql (string date1)
        {
            DateTime starttime=Convert.ToDateTime(date1);
            DateTime endtime=DateTime.Now;
            string sql = "select * from zy_bhjfyz" + Convert.ToString(starttime.Year) + starttime.Month.ToString("D2");
            int m,i;
            m = getMonth1(starttime, endtime);
            if (endtime.Year - starttime.Year == 0)
            {
                for (i = 1; i <= m; i++)
                {
                    sql = sql + "union all " + "select  * from zy_bhjfyz" + Convert.ToString(starttime.Year) + starttime.AddMonths(i).Month.ToString("D2");
                }
            }


            else
            {
                int a, d;
                a = Convert.ToInt32(starttime.Month);
                for (i = a+1; i <=12; i++)
                {
                    sql = sql + "union all " + "select  * from zy_bhjfyz" + Convert.ToString(starttime.Year) + i.ToString("D2");

                }

               for (d =1; d <=m; ++d)
                {
                    sql = sql + "union all " + "select  * from zy_bhjfyz" + Convert.ToString(endtime.Year) + d.ToString("D2");
                }
            }
            return sql;


       
 
            

        }
        static void Main(string[] args)
        {
            string mysql1 = mysql("2012-01-01");
            Console.Write("{0}", mysql1);
            Console.ReadKey();

       } 



    }
}



[解决办法]
类Program 和 里面的函数 getmonth1()和mySql()  你可以单独写成一个类MyClass, 调用里面的两个方法的时 先实例化, MyClass myclass = new MyClass();  在引用 int count = myclass.getmonth1(参数1 , 参数2);
 sring sql = myclass.mySql(参数1);

和上面几位说的一样   先把类的定义搞清楚 ,然后确定自己想要干什么  再把需要的用到的字段,属性,方法抽象出来 定义成类
[解决办法]
引用:
请问下我如何把两个函数改写为方法,然后再另外一个类调用?


其实你已经写了类和方法,只不过你在类内调用方法,所以无需引用

如果你把
static void Main(string[] args)
        {
            string mysql1 = mysql("2012-01-01");
            Console.Write("{0}", mysql1);
            Console.ReadKey();


 
       } 

放在另一个的类里比如 mainclass
这是在你的代码里调用就要加上
Program.getMonth1()
Program.nysql()
因为你定义的方法是静态方式,所以无需事先new


热点排行