C# WPF上位机开发(掌握一点c#基础)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱: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();}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/172137.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot事务处理

一、事务回顾 回顾地址: 深入理解数据库事务(超详细)_数据库事务操作_Maiko Star的博客-CSDN博客 事务: 是一组操作的集合,是一个不可分割的工作单位,这些操作要么同时成功,要么同时失败 事…

绝对干货-讲讲设计模式之创建型设计模式的本质

创建型模式(Creational Patterns):创建型模式关注对象的创建机制,包括了如何实例化一个对象或者一组对象的方法。Java中的创建型模式有:单例模式(Singleton Pattern)、工厂模式(简单…

隐写-MISC-bugku-解题步骤

——CTF解题专栏—— 题目信息: 题目:隐写 作者:CyberFl0wer 提示:无 解题附件: 解题思路: 这张图片一看!哦呦~背景还是透明的,那我肯定要尝试给他换换色(不可以色色.jpg…

重生之我是一名程序员 42——字符分类函数

哈喽啊大家晚上好!今天呢给大家带来一些超简单的知识,大家是需要浅浅理解就行了。所以今天给大家带来的知识是——字符分类函数。 首先呢还是给大家介绍一下它们,字符分类函数是一种函数,它根据一定的规则将字符分组或分类。在编…

Map和Set小总结【温习】

目录 一、概念与模型 二、Map的使用 三、Set的说明 一些小练习 四、哈希表 1.概念 2.冲突 2.1、概念 2.2、冲突-->避免 2.3、冲突-->解决 (1)闭散列 (2)开散列 2.4、其他问题 一、概念与模型 1.概念&#xff1a…

三菱GX WORRKS3 下载与安装

目录 下载 安装 准备好安装包 对电脑系统要求 安装 因为小编公司需要,所以开始了三菱plc软件的学习,并从今天开始记录学习,希望小编的内容能帮到你,对你的学习有帮助! 下载 三菱电机官网 当然了,需要…

编程语言发展史:Java语言的出现和发展

预计更新 第一部分:早期编程语言 1.1布尔代数和机器语言 1.2汇编语言的出现和发展 1.3高级语言的兴起 第二部分:主流编程语言 1.1 C语言的诞生及其影响 1.2 C语言的发展和应用 1.3 Java语言的出现和发展 1.4 Python语言的兴起和特点 1.5 JavaScript语言…

C++函数题

短信计费 #include<bits/stdc.h> using namespace std; int n; int f(int); int main() {cin>>n;int sum0;for(int i0;i<n;i){int t;cin>>t;sumsumf(t);}cout<<sum;return 0; } int f(int a){int cnt1;cntcntn/70;return cnt*0.1; } 完数判断 #i…

【C++】类和对象(下篇)

这里是目录 构造函数&#xff08;续&#xff09;构造函数体赋值初始化列表 explicit关键字隐式类型转换 static成员友元友元函数友元类 内部类匿名对象匿名对象的作用const引用匿名对象 构造函数&#xff08;续&#xff09; 构造函数体赋值 在创建对象时&#xff0c;编译器通…

五种多目标优化算法(MOGWO、MOLPB、MOJS、NSGA3、MOPSO)求解微电网多目标优化调度(MATLAB代码)

一、多目标优化算法简介 &#xff08;1&#xff09;多目标灰狼优化算法MOGWO 多目标应用&#xff1a;基于多目标灰狼优化算法MOGWO求解微电网多目标优化调度&#xff08;MATLAB代码&#xff09;-CSDN博客 &#xff08;2&#xff09;多目标学习者行为优化算法MOLPB 多目标学习…

C/C++: 统计整数

【问题描述】 输入若干个整数&#xff0c;统计出现次数最多的那个整数。如果出现最多的整数有两个以上&#xff0c;打印最早输入的那个整数。 【输入形式】 从标准输入读取输入。第一行只有一个数字N&#xff08;1≤N≤10000&#xff09;&#xff0c;代表整数的个数。以后的N行…

佳易王幼儿园缴费系统软件编程应用实例

佳易王幼儿园缴费系统软件编程实例 佳易王幼儿园缴费系统功能&#xff1a; 1、系统设置 2、班级设置 3、其他费用名称 4、学生信息管理 5、学生缴费 6、统计报表 7、备份全部数据 软件试用版下载可以点击下方官网卡片

48. 旋转图像 --力扣 --JAVA

题目 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像&#xff0c;这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 解题思路 顺时针旋转90度 上下翻转 对角线翻转&#xff1b;两次两层循环…

由走“贸工技”的联想联想到传统OEM,带给了自己那些思考?

2022年1月16日&#xff0c;自己来到魔都的第1597天&#xff0c;这城市还是保持着相似的容颜&#xff0c;而自己却悄悄的起了变化。 以前对时间概念其实不是特别敏感&#xff0c;感觉自己有大把的时光可以浪费&#xff08;虽然知道死亡是个永远无法逃避的话题&#xff09;&#…

【华为OD】【统一考试C卷真题】100%通过:剩余银饰的重量 python 源码实现

【华为OD】【统一考试C卷真题】100%通过&#xff1a;剩余银饰的重量 python 源码实现 目录 题目描述&#xff1a; 示例1 示例2 代码实现&#xff1a; 题目描述&#xff1a; 有N块二手市场收集的银饰&#xff0c;每块银饰的重量都是正整数&#xff0c;收集到的银饰会被熔…

MATLAB 和 Simulink 官方文档下载地址

MATLAB 官方文档中文版下载网址&#xff1a; https://ww2.mathworks.cn/help/pdf_doc/matlab/index.html 如图&#xff1a; MATLAB 官方文档英文版下载网址&#xff1a; https://ww2.mathworks.cn/help/pdf_doc/matlab/index.html?langen 如图&#xff1a; Simulink 官…

Vue - Vue配置proxy代理,开发、测试、生产环境

1、新建三个环境的配置文件 在src同级目录也就是根目录下新建文件&#xff1a;.env.development&#xff08;开发环境&#xff09;、.env.test&#xff08;测试环境&#xff09;、.env.production文件&#xff08;生产环境&#xff09; 2、三个环境的配置文件 开发环境 .env…

重量级消息,微软将ThreadX RTOS全家桶贡献给Eclipse基金会,免费供大家商用,宽松的MIT授权方式

从明年第1季度开始&#xff0c;任何人&#xff0c;任何厂家的芯片都可以免费商用&#xff0c;MIT授权就这点好。 贡献出来后&#xff0c;多方可以一起努力开发&#xff0c;当前首批兴趣小组AMD, Cypherbridge, Microsoft, NXP, PX5, Renesas, ST Microelectronics, Silicon Lab…

MYSQL基础知识之【索引】

文章目录 前言MySQL 索引普通索引创建索引修改表结构(添加索引)创建表的时候直接指定删除索引的语法唯一索引创建索引修改表结构创建表的时候直接指定使用ALTER 命令添加和删除索引使用 ALTER 命令添加和删除主键显示索引信息 后言 前言 hello world欢迎来到前端的新世界 &…

cephadm部署ceph quincy版本,使用ceph-csi连接

环境说明 IP主机名角色 存储设备 192.168.2.100 master100 mon,mgr,osd,mds,rgw 大于5G的空设备192.168.2.101node101mon,mgr,osd,mds,rgw大于5G的空设备192.168.2.102node102mon,mgr,osd,mds,rgw大于5G的空设备 关闭防火墙 关闭并且禁用selinux 配置主机名/etc/hosts …