【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
wpf虽然比较简单,但是最好还是要有一点c#的基础比较好。本身wpf有点类似于web开发,前端和html差不多,后端则和java类同。所以有html基础和java语言基础的朋友,学习c# wpf开发界面本身就是很轻松的事情。当然如果大家没有学过c#,但是学过c,那么其实问题也不大的。加上c#本身没有类似指针这样复杂的特性,用它当成主流语言来开发,还是很不错的。
1、至上而下进行学习
既然我们已经愿意去学习c# wpf,那么可以制定一个目标,至上而下的学习,以目标为导向地去学习,这样可能更好。一开始的时候,目标不要定的很大,小小的目标,能够实现就好。并且一开始学习的时候,压力也不要太大,比如说今天说的c#基础学习,不是说要掌握了所有的c#的知识点之后,才开始进行后面的内容。如果真的是这样,那就是犯了一个学生思维的错误。
基本上我们掌握了必要的知识点,例如数据类型、打印、循环、类、静态函数这些基本知识点之后马上就可以开始学习wpf了。那如果后面应用的时候出现了不会的知识点怎么办?也没关系,重新看书或者用搜索引擎找这些知识点就好了。
2、学习方法
最主要的学习方法就是理论和实操相结合。较早之前有一句话说的真的蛮好的,所谓编程一般符合这样的规则,一目十行不如手写一行,手写十行不如调试一行,调试十行不如汇编一行。当然这里不是说汇编是多么了不起的事情,最主要的还是希望大家多操作多实践。
简单的编程,直接打开VisualStudio,创建一个console项目,就可以开始编程了。
3、基本数据类型
c#的数据类型和其他语言差不多,也是int、byte、string、char、float和double。为了查看对应的数据对不对,我们可以通过Console.WriteLine的方法打印出来。
int a = 10000;
byte b = 200;
string c = "123";
char d = 'd';
float e = 2.0f;
double f = 4.5;
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.WriteLine(d);
Console.WriteLine(e);
Console.WriteLine(f);
4、静态函数
对于后来的面向对象语言,函数都是被包含在class类里面的。c#也不意外,为了看下c#下面函数应该怎么使用,可以通过编写一个简单的静态函数,来帮我们测试下。
public static int iterate(int data)
{
if (1 == data)
{
return 1;
}
else
{
return iterate(data - 1) + data;
}
}
5、类的实现
类是面向对象语言的基本构成元素。所以除了数据类型、函数之外,最最重要的就是编写一个class。这个class不需要很复杂,简单写写就可以了,比如如何创建、如何调用。其他复杂的部分可以等到实际使用的时候,再深入学习就可以了。
class DemoClass
{
private int a_;
public DemoClass()
{
Console.WriteLine("demo()");
}
public void set_a(int a)
{
a_ = a;
}
public int get_a()
{
return a_;
}
}
6、重点掌握调试方法
不管是大家是否有过编程语言经验,一定要自己学会调试程序。比如如何设置断点、如何查看数据、如何进入函数、如何跳出函数、如何看堆栈回溯、如何多线程调试等等,这些都要自己慢慢掌握。好在现在VisualStudio都很方便,直接设置好断点之后,按下启动键即可。
最后为了方便大家练习,给出文章中出现的测试代码,可以好好单步调试下,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp
{
class DemoClass
{
private int a_;
public DemoClass()
{
Console.WriteLine("demo()");
}
public void set_a(int a)
{
a_ = a;
}
public int get_a()
{
return a_;
}
}
class Program
{
public static int iterate(int data)
{
if (1 == data)
{
return 1;
}
else
{
return iterate(data - 1) + data;
}
}
static void Main(string[] args)
{
int a = 10000;
byte b = 200;
string c = "123";
char d = 'd';
float e = 2.0f;
double f = 4.5;
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);
Console.WriteLine(d);
Console.WriteLine(e);
Console.WriteLine(f);
DemoClass demo_class = new DemoClass();
demo_class.set_a(10);
Console.WriteLine(demo_class.get_a());
Console.WriteLine(iterate(10));
Console.ReadLine();
}
}
}