c#基础学习

c#

1、基本

  • 快速对齐代码 :ctrl + k + d

  • 注释所选的代码:ctrl + k + c 取消注释:ctrl + k + u

  • 折叠冗余代码:#Region 和 #EndRegion

  • \转义字符@取消斜线的转移效果

  • 开头必须有

using System;
  • 接受来自用户的值
int num;
num = Convert.ToInt32(Console.ReadLine());
  • 显示输出的值
Console.WriteLine("a = {0}, b = {1}, c = {2}", a, b, c);
Console.ReadLine();
  • 整数常量
212         /* 合法 */10进制
215u        /* 合法 */无符号数
0xFeeL      /* 合法 */16进制
078         /* 非法:8 不是一个八进制数字 */8进制0开头
032UU       /* 非法:不能重复后缀 */
0213       /* 八进制 */
0x4b       /* 十六进制 */
30         /* int */
30u        /* 无符号 int */
30l        /* long */
30ul       /* 无符号 long */
3.14159       /* 合法 */
314159E-5L    /* 合法 */
510E          /* 非法:不完全指数 */
210f          /* 非法:没有小数或指数 */
.e55          /* 非法:缺少整数或小数 */
  • 转义字符
转义序列含义
\\ 字符
’ 字符
"" 字符
?? 字符
\aAlert 或 bell
\b退格键(Backspace)
\f换页符(Form feed)
\n换行符(Newline)
\r回车
\t水平制表符 tab
\v垂直制表符 tab
\ooo一到三位的八进制数
\xhh . . .一个或多个数字的十六进制数
  • 异常处理
try{}//内写需要异常处理的代码
catch{}//异常后处理方式

2、产生随机数

 Random r = new Random();//创建一个随机对象
 int k = r.Next(1, 7);//设置随机范围产生随机数

3、常量,枚举

  • 常量
const int i = 100;//常量不能被重新赋值
  • 枚举作用:规范开发,将枚举声明在命名空间的下面类名的上面
enum colour
{
    black,
    red,
    yellow,
    green
}
Colour i = Colour.red;

3、转换类型

  1. convert转换
Convert.ToBoolean(var) var转换为bool
Convert.ToByte(var) var转换为byte
Convert.ToChar(var) var转换为char
Convert.ToDecimal(var) var转换为decimal
Convert.ToDouble(var) var转换为double
Convert.ToInt16(var) var转换为short
Convert.ToInt32(var) var转换为int
Convert.ToInt64(var) var转换为long
Convert.ToSByte(var) var转换为sbyte
Convert.ToSingle(var) var转换为float
Convert.ToString(var) var转换为string
Convert.ToUInt16(var) var转换为ushort
Convert.ToUInt32(var) var转换为uint
Convert.ToUInt64(var) var转换为ulong
  1. parse只能将字符串转换
Int.Parse():只支持将string类型转成int,Parse就是把String类型转换成int,char,double…等,也就是*.Parse(string) 括号中的一定要是string类型。

String st=“5.21”;
double n=5.21;
Int.Parse(st); //输出5
Int.Parse(n); //报错
用来转换String类型的数据
TryParse的效率比Parse的效率高,容错也好。
Int.TryParse(n);
  1. 将字符串转化成枚举类型

enum.Parse();

4. 两种返回方法

public static int sumi(int[] A) 
        {
            int sum1 = 0;
             for (int i = 0; i < 10; i++)
            {
                 sum1 = A[i] + sum1;
            }
            return sum1; 
        }
 public static void avg(int[] A,out float j) 
        { 
            j = sumi(A)/10;
        }

 static void Main(string[] args)
        {
            int[] A = new int[10]{ 1,2,3,4,5,6,7,8,9,10};

            float r = 0;
            int ss = sumi(A);
            avg(A,out r);
                
            Console.WriteLine(ss);
            Console.WriteLine(r);

        }

5. 调用形参时改变实参

  • 使用 ref
public static int salary(ref int money)
{
    money = money + 500;
}
static void Main(string[] args)
        {
            int money = 5000;
            salary(ref money);
            Console.WriteLine(money);
        }

6.属性

  • 属性的作用:保护字段对字段的赋值和取值进行限定
class user
{
    private int id;
    public int ID
    {
        get{return id;}
        set{id = value}
    }
    public string Id { get => idname; set => idname = value; }//新版本的形式

}

7.面向对象和JAVA类似

1)继承父类,Java需要显式写上extends关键字指明某类需要继承那个父类(Java喜欢称呼为超类),而C#才是真正意义上继承了C++的传统,即C#是真正的C家族语言,所以直接":“冒号后面指明要继承那个父类。
2)实现接口,Java需要显式写上implements关键字指明要实现哪个接口,而C#不是,C#用”:"冒号后面指明要实现哪个接口。
3)重写父类同名方法,在C家族里(C\C++\C#)需要使用override关键字。而Java不需要。
4)访问类变量类方法机制,在C#里只可使用类名去调用,对象不允许调用。而Java不仅允许类名去调用,同时还允许对象去调用。
5)子类调用父类的构造函数,Java使用super关键字,而C++\C#是使用base关键字。

8. 析构函数

public class student
{
    int id;
    string name;
    public void inc(int id , string name)
    {
        this.id = id;
        this.name = name;
    }
    ~student
    {
        Console.WriteLine("我是析构函数,我的作用是释放空间,我在程序结束的时候才会执行");
    }
}

9. 命名空间

类属于命名空间,当缺失命名空间时可以采取以下操作:

  • 用鼠标去点
  • alt+shift+f10

10.不同项目之间引用

  • 在当前项目的引用出点击需要引用的项目

11.面向对象的基本原则(SOLAD)

  • (single responsibility principle)单一职责原则
  • (Open close principle)开发关闭原则
  • (Liskov Substitution Principle)里氏替换原则
  • (interface segregation principle)接口隔离原则
  • (dependence inversion principle) 依赖反转原则

12.抽象类

 abstract class Abstract01
{
    abstract public void Run();    
}
class Abstract02:Abstract01
{
    public override Run()
    {
        Console.WriteLine("aibds");
    }
}

窗体

WinForm 窗体
  Button           按钮
  ComboBox         select下拉列表框    选中它单机三角图标编辑页或者在属性面板的数据Items中添加option(DataSource是数据绑定项)
  Checkbox         复选框
  CheckedListBox   复选框列表(一个组垂直包含个checkbox多选框)
  DateTimePicker   日期时间控件
  GroupBox         分组控件
  Label            标签
  LinkLabel
  ListBox          多选列表框
  ListView         列表控件(多作为表格展示 先设置编辑列 行为的HeaderStyle:选择是否能点击  ;  外观的View:显示模式【一般选Details详细模式来显示表格】) 
  LinkLabel        超链接标签
  MaskedTextBox
  MonthCalendar
  NotifyIcon       托盘控件
  NumericUpDown    数字输入框
  PictureBox       图片框
  ProgressBar      进度条
  RadioButton      单选框
  RichTextBox
  TreeView         树控件
  Textbox          文本框
  ToolTip          气泡提示
  webBrowser

容器:

Panel                   面板
SplitContainer          分隔容器
TabControl              选项卡控件(tab页)FlowLayoutPanel        GroupBoxtableLayoutPanel   

菜单和工具栏:

ContextMenuStrip         右键菜单
MenuStrip                菜单控件(类似导航)
StatusStrip              状态栏控件
ToolStrip                工具栏控件
ImageList                图片集合   ????(4.7版本未找到)
Timer                    时间控件

对话框:

FolderBrowserDialog         文件夹选择
OpenFileDialog              打开文件
SaveFileDialog              保存文件

数据

Chart
BindingNavigator
BindingSource
DataGridView
DataSet

组件

BackgroundWorker
DirectoryEntry
DirectorySearcher
ErrorProvider
Eventlog
FilesystemWatcher
CHelpProvider
ImageList
MessageQueue
PerformanceCounter
Process
SerialPort
ServiceController
Timer

窗体属性面板:

布局
--AuteScaleMode               自动缩放模式
--Autoscroll                  自动滚动
--AltoScrollMargin            自动滚动边距
--AutoScrollMinsize           自动滚动最小尺寸
--AutoSize                    自动大小
--AutoSizeMode                拖动窗口改变大小开关
--Location                    位置
--MaximumSize                 最大尺寸
--MinimumSize                 最小尺寸
--Padding                     是布局还是内边距?
--Size                        字体大小?
--StartPosition               启动窗体出现的位置
--Windowstate                 窗口状态

窗口样式(WindowStyle)
--ControlBox                  控制按钮组
--HelpButton                  帮助按钮
--lcon                        图标
    -size
--IsMdiContainer              是不是MDI容器
--MainMenuStrip               主菜单条
--MaximizeBox                 窗口最大化
--MinimizeBox                 窗口最小化
--Opacity                     不透明度
--Showlcon                    显示图标
--ShowlnTaskbar               在任务栏中显示
--SizeGripStyle               大小手柄样式
--TopMost                     是否为最顶层元素
--TransparencyKey             透明色
行为
--AllowDrop                          允许拖放
--AutoValidate                       自动验证
--ContextMennuStrip                  上下文菜单条
--DoubleBuffered                     双缓冲
--enabled                            可用
--ImeMode                            输入法模式
焦点(Focus)
--CausesValidation                   是否触发验证
可访问性(Accessibility)
--AccessibleDescription              可访问描述
--AccessibleName                     可访问名称
--AccessibleRole                     可访问角色
设计
(Name)                              默认Form1     对应  this.Name = "帝国标签窗口";  (这个自动生成窗口事件函数名时会取它的值;值_事件名)
language                             语言
Localizable                          本地化 
locked                               锁定  
数据
--(ApplicationSettings)
    --(PropertyBinding)
    --Location
    --Text
--(DataBindings)                     数据绑定
    --(Advanced)
    --Tag
    --Text
--Tag
外观(Appearance)
--BackColor                  背景颜色
--Backgroundlmage            背景图片
--BackgroundImageLayout      背景图片布局
--Cursor                     光标选择--Font    --Name:宋体      --Size    --Unit    --Bold    --GdiChartSet    --GdVerticalFont    --GdiVerticalFont    --Italic    --Strikeout    --Underline
--ForeColor
--FormBorderStyle                 字体边框样式
--RightToLeft                     从右到左
--RightToLeftLayout               从右到左布局
--Text                            窗口标题     对应  this.Text = "帝国cms标签";
--UseWaitCursor                   用户等待光标
杂项
--AcceptButton                    接受按钮
--CancelButton                    取消按钮
--KeyPreview                      键预览
--tooltip1上的ToolTip

窗体组件属性面板:

TabIndex 设置按下tab键时跳转的顺序 对表单组件特别有用

窗体事件:

布局:
DpiChanged
DpiChangedAfterParent
DpiChangedBeforeParent
Layout                      布局
MdichidActivate             MDI 子窗口行为
Move                        移动             在移动控件时发生。(从 Control 继承。) 
PaddingChanged              边框更改          在控件空白区更改时发生。(从 Control 继承。)
Resize                      重置大小          在调整控件大小时发生。(从 Control 继承。)

操作
Click                 单击        在单击控件时发生。(从 Control 继承。)
Doubleclick           双击
MouseCaptureChanged   鼠标捕获更改  当控件失去鼠标捕获时发生。(从 Control 继承。)
MouseClick            鼠标单击     在鼠标单击该控件时发生。(从 Control 继承。)
MouseDoubleClick      鼠标双击     当用户使用鼠标双击 RadioButton 控件时发生。
ResizeBegin           重置尺寸开始
ResizeEnd             重置尺寸结束
Scroll                滚动

行为
ChangeUICues                   更改界面提示  在焦点或键盘用户界面 (UI) 提示更改时发生。(从 Control 继承。)
ControlAdded                   控制已加入   在将新控件添加到 Control.ControlCollection 时发生。(从 Control 继承。)
ControlRemoved                 控制已移除    在从 Control.ControlCollection 移除控件时发生。(从 Control 继承。) 
FormClosed                    (点击X,直接结束进程不会触发)关闭窗体事件发生在FormClosing之后
FormClosing                   (点击x,直接结束进程不会触发)关闭窗体
HelpButtonClicked              帮助按钮已点击        
HelpRequested                  帮助已请求
ImeModeChanged                 输入法模式已更改    当 ImeMode 属性更改时发生。此事件与此类无关。(从 ButtonBase 继承。)
InputLanguageChanged           输入语言已更改
InputLanguageChanging          输入语言准备更改
Load                           窗体初始化:                               执行步骤program.cs的Main方法执行Application.Run(new Form1());然后调用Form1.cs中的Form1->Form1()析构函数中的InitializeComponent(){ this.Load += new System.EventHandler(this.Form1_Load);}最后调用Form1_Load()
QueryAccessibilityHelp         查询访问帮助        在 AccessibleObject 为辅助功能应用程序提供帮助时发生。(从 Control 继承。) 
Shown                          展示               在控件样式更改时发生。(从 Control 继承。) 
StyleChanged                   样式已更改          系统颜色更改时发生。(从 Control 继承。) 
SystemColorsChanged            系统颜色更改
按键KeyDown                        按键按下瞬间
KeyPress                       按键按住
KeyUp                          按键抬起瞬间
PreviewKeyDown                 预览键按下        在焦点位于此控件上的情况下,当有按键动作时发生(在 KeyDown 事件之前发生)。(从 Control 继承。) 
焦点
Activated                      活动  
Deactivate                     非活动
Enter                          进入
Leave                          离开
Validated                      已验证       在控件完成验证时发生。(从 Control 继承。)
Validating                     验证中
属性已更改
AutoSizeChanged                当 AutoSize 属性的值更改时发生。(从 ButtonBase 继承。) 
AutoValidateChanged
BackColorChanged               当 BackColor 属性的值更改时发生。(从 Control 继承。)
BackgroundlmageChanged         当 BackgroundImage 属性的值更改时发生。(从 Control 继承。) 
BackgroundlmageLayoutChanged   当 BackgroundImageLayout 属性更改时发生。(从 Control 继承。) 
BindingContextChanged          当 BindingContext 属性的值更改时发生。(从 Control 继承。) 
CausesValidationChanged        当 CausesValidation 属性的值更改时发生。(从 Control 继承。)    
ClientSizeChanged              当 ClientSize 属性的值更改时发生。 (从 Control 继承。)
ContextMenuStripChanged        当 ContextMenuStrip 属性的值更改时发生。 (从 Control 继承。)
CursorChanged                  当 Cursor 属性的值更改时发生。(从 Control 继承。)
DockChanged                    当 Dock 属性的值更改时发生。(从 Control 继承。)
EnabledChanged                 在 Enabled 属性值更改后发生。(从 Control 继承。)
FontChanged                    在 Font 属性值更改时发生。(从 Control 继承。) 
ForeColorChanged               在 ForeColor 属性值更改时发生。(从 Control 继承。)
LocationChanged                在 Location 属性值更改后发生。(从 Control 继承。)
MaximizedBoundsChanged
MaximumSizeChanged  
ParentChanged                  在 Parent 属性值更改时发生。(从 Control 继承。)
RegionChanged                  当 Region 属性的值更改时发生。(从 Control 继承。) 
RightToLeftChanged             在 RightToLeft 属性值更改时发生。(从 Control 继承。) 
RightToLeftLayoutChanged
SizeChanged                    在 Size 属性值更改时发生。(从 Control 继承。)
TextChanged                    在 Text 属性值更改时发生。(从 Control 继承。) 
VisibleChanged                 在 Visible 属性值更改时发生。(从 Control 继承。)
鼠标
MouseDown                       鼠标按下         当鼠标指针位于控件上并按下鼠标键时发生。(从 Control 继承。)
MouseEnter                      鼠标进入           在鼠标指针进入控件时发生。(从 Control 继承。)
MouseHover                      鼠标移入         在鼠标指针停放在控件上时发生。(从 Control 继承。) 
MouseLeave                      鼠标离开         在鼠标指针离开控件时发生。(从 Control 继承。) 
MouseMove                       鼠标移动         在鼠标指针移到控件上时发生。(从 Control 继承。) 
MouseUp                         鼠标抬起         在鼠标指针在控件上并释放鼠标键时发生。(从 Control 继承。) MouseWheel?????                                 在移动鼠标轮并且控件有焦点时发生。(从 Control 继承。) 数据
(DataBindings)                   数据绑定
   --CollectionChanged
   --CollectionChanging
拖放
OragDrop                        拖放
OragEnter                       拖放进入
OragLeave                       拖放离开
DragOver                        拖放经过
GiveFeedback                    给予反馈
QueryContinueDrag               查询继续拖动             在拖放操作期间发生,并且允许拖动源确定是否应取消拖放操作。(从 Control 继承。)
外观
Paint                           在重绘控件时发生。(从 Control 继承。) TabIndexChanged           在 TabIndex 属性值更改时发生。(从 Control 继承。) ????????TextChanged             在 Text 属性值更改时发生。(从 Control 继承。)
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是一个萌新啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值