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博客 事务: 是一组操作的集合,是一个不可分割的工作单位,这些操作要么同时成功,要么同时失败 事…

隐写-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软件的学习,并从今天开始记录学习,希望小编的内容能帮到你,对你的学习有帮助! 下载 三菱电机官网 当然了,需要…

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

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

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

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

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

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

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

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

MATLAB 和 Simulink 官方文档下载地址

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

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

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

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

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

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 …

HarmonyOS(五)—— 认识页面和自定义组件生命周期

前言 在前面我们通过如何创建自定义组件一文知道了如何如何自定义组件以及自定义组件的相关注意事项,接下来我们认识一下页面和自定义组件生命周期。 自定义组件和页面的关系 在开始之前,我们先明确自定义组件和页面的关系 自定义组件:Co…

【案例讲解】LVGL 如何用LVGL画加载圈

更多源码分析请访问:LVGL 源码分析大全 目录 1、概述2、实现效果图3、实现思路4、代码详解1、概述 很多场景下,在用户操作时,需要使用一个加载圈来缓解用户焦虑问题。 2、实现效果图 3、实现思路 用八个固定的圆点来表示加载圈,当使这八个圈依次隐藏和显示,这样就能做…

基于helm的方式在k8s集群中部署gitlab - 部署(一)

文章目录 1. 背景说明2. 你可以学到什么?3. 前置条件4. 安装docker服务(所有节点)5. 部署k8s集群5.1 系统配置(所有节点)5.2 安装kubelet组件(所有节点)5.2.1 编写kubelet源5.2.2 安装kubelet5.2.3 启动kubelet 5.3 集…

基于helm的方式在k8s集群中部署gitlab - 备份恢复(二)

接上一篇 基于helm的方式在k8s集群中部署gitlab - 部署(一),本篇重点介绍在k8s集群中备份gitlab的数据,并在虚拟机上部署相同版本的gitlab,然后将备份的数据进行还原恢复 文章目录 1. 备份2. 恢复到虚拟机上的gitlab2.…

【Git】git 更换远程仓库地址三种方法总结分享

因为公司更改了 gitlab 的网段地址,发现全部项目都需要重新更改远程仓库的地址了,所以做了个记录,说不定以后还会用到呢。 一、不删除远程仓库修改(最方便) # 查看远端地址 git remote -v # 查看远端仓库名 git rem…

牛客网刷题笔记四 链表节点k个一组翻转

NC50 链表中的节点每k个一组翻转 题目: 思路: 这种题目比较习惯现在草稿本涂涂画画链表处理过程。整体思路是赋值新的链表,用游离指针遍历原始链表进行翻转操作,当游离个数等于k时,就将翻转后的链表接到新的链表后&am…

歌曲《兄弟情深》:歌手荆涛歌曲中的真挚情感

在人生的道路上,有时我们会遇到迷茫、失落、困惑等种种情境。而在这些时刻,身边有一个真挚的兄弟,其意义是无法估量的。歌手荆涛演唱的《兄弟情深》即是对这种深厚情感的美妙歌颂。 一、迷茫时的指引 “当我迷茫时,有你帮目标重新…