C#(CSharp)入门教程

news2024/11/25 2:23:20

目录

C#的第一个程序

变量 

折叠代码 

变量类型和声明变量 

获取变量类型所占内存空间(sizeof) 

常量 

转义字符 

隐式转换 

显示转换 

异常捕获 

运算符 

算术运算符 

布尔逻辑运算符

关系运算符 

位运算符 

其他运算符 

字符串拼接 

条件分支语句 

if...else 语句

switch语句 

循环语句 

while语句 

do while语句 (使用较少)

for循环 (最常用)


C#的第一个程序

 因为笔者学习过Java,所以个人感觉C#上手起来很快,很多都是java中学习过的,所以不再赘述。该系列文章主要是分享给有一定编程经验的小伙伴,但是又想要学习C#的来使用,零基础的可能会比较吃力,所以酌情使用。

using System;

namespace CSharp入门_第一个程序
{
    class Program
    {
        static void Main(string[] args)
        {
            //使用Console调用方法
            Console.WriteLine("Hello World");
            //WriteLine方法会自动空一行(换行)
            //使用Write则不会换行
            Console.WriteLine("我爱敲代码");//输出
            Console.Write("你好!");
            Console.Write("世界");
            //Console.ReadKey();//需要使用该语句,不然控制台会一闪而过,或者只执行不调试也可以

            Console.WriteLine("请玩家输入名字:");
            //C#的输入
            Console.ReadLine();

            //玩家输入完毕
            Console.Write("玩家输入完毕!请开始游戏吧!");

            //这里注意!不使用ReadKey是会直接闪过控制台的,所以我们还是可以使用Ctrl+F5

        }
    }
}

 

需要特别注意的是向控制台输入内容:

//向控制台输入信息
Console.ReadLine();
//判断是否按键,只有玩家按键了才会结束(可以用来防止跳过控制台显示)
Console.ReadKey();

变量 

折叠代码 

using System;


namespace CSharp入门_变量
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("变量");

            //1、折叠代码(防止代码过于凌乱)输入#region按下tab自动补全
            #region  声明变量


            #endregion
        }
    }
}

点击-号后我们可以看到中间部分进行了折叠:

 

变量类型和声明变量 

using System;


namespace CSharp入门_变量
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("变量");

            //1、折叠代码(防止代码过于凌乱)输入#region按下tab自动补全
            #region  声明变量

            //有符号整型
            //sbyte
            sbyte i = 1;
            Console.WriteLine("i的值为" + i);
            //short
            short x = 2;
            Console.WriteLine("x的值为" + x);
            //int
            int y = 3;
            Console.WriteLine("y的值为" + y);
            //long
            long z = 4;
            Console.WriteLine("z的值为" + z);
            //无符号整型
            //byte
            byte a = 5;
            Console.WriteLine("a的值为" + a);
            //ushort
            ushort b = 6;
            Console.WriteLine("b的值为" + b);
            //uint
            uint c = 7;
            Console.WriteLine("c的值为" + c);
            //ulong
            ulong d = 8;
            Console.WriteLine("d的值为" + d);
            //浮点数(小数)
            //float
            float f = 0.12f;
            Console.WriteLine("f的值为" + f);
            //double
            double db = 0.223;
            Console.WriteLine("db的值为" + db);
            //deciml
            decimal dm = 0.123456789m;
            Console.WriteLine("dm的值为" + dm);
            //特殊类型
            //bool
            bool b1 = true;
            bool b2 = false;
            Console.WriteLine(b1 + "_" + b2);
            //char(字符)
            char ch = 'A';
            Console.WriteLine("ch的值为"+ch);

            //string(字符串)
            string str = "我要认认真真学CSharp";
            Console.WriteLine(str);

            #endregion

        }
    }
}

 

获取变量类型所占内存空间(sizeof) 

using System;


namespace CSharp入门_变量
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("变量");

            //1、折叠代码(防止代码过于凌乱)输入#region按下tab自动补全
            #region  声明变量

            //有符号整型
            //sbyte
            sbyte i = 1;
            Console.WriteLine("i的值为" + i);
            //short
            short x = 2;
            Console.WriteLine("x的值为" + x);
            //int
            int y = 3;
            Console.WriteLine("y的值为" + y);
            //long
            long z = 4;
            Console.WriteLine("z的值为" + z);
            //无符号整型
            //byte
            byte a = 5;
            Console.WriteLine("a的值为" + a);
            //ushort
            ushort b = 6;
            Console.WriteLine("b的值为" + b);
            //uint
            uint c = 7;
            Console.WriteLine("c的值为" + c);
            //ulong
            ulong d = 8;
            Console.WriteLine("d的值为" + d);
            //浮点数(小数)
            //float
            float f = 0.12f;
            Console.WriteLine("f的值为" + f);
            //double
            double db = 0.223;
            Console.WriteLine("db的值为" + db);
            //deciml
            decimal dm = 0.123456789m;
            Console.WriteLine("dm的值为" + dm);
            //特殊类型
            //bool
            bool b1 = true;
            bool b2 = false;
            Console.WriteLine(b1 + "_" + b2);
            //char(字符)
            char ch = 'A';
            Console.WriteLine("ch的值为"+ch);

            //string(字符串)
            string str = "我要认认真真学CSharp";
            Console.WriteLine(str);



            #endregion

            int sbyteSize = sizeof(sbyte);
            Console.WriteLine("sbyte所占的字节数为:" + sbyteSize);
            int shortSize = sizeof(short);
            Console.WriteLine("short所占的字节数为:" + shortSize);
            int intSize = sizeof(int);
            Console.WriteLine("int所占的字节数为:" + intSize);
            int longSize = sizeof(long);
            Console.WriteLine("long所占的字节数为:" + longSize);
            Console.WriteLine("*********************************************");
            int byteSize = sizeof(byte);
            Console.WriteLine("byte所占的字节数为:" + byteSize);
            int uintSize = sizeof(uint);
            Console.WriteLine("uint所占的字节数为:" + uintSize);
            int ushortSize = sizeof(ushort);
            Console.WriteLine("ushort所占的字节数为:" + ushortSize);
            int ulongSize = sizeof(ulong);
            Console.WriteLine("ulong所占的字节数为:" + ulongSize);
            Console.WriteLine("*********************************************");
            int floatSize = sizeof(float);
            Console.WriteLine("float所占的字节数为:" + floatSize);
            int doubleSize = sizeof(double);
            Console.WriteLine("double所占的字节数为:" + doubleSize);
            int decimalSize = sizeof(decimal);
            Console.WriteLine("decimal所占的字节数为:" + decimalSize);
            Console.WriteLine("*********************************************");
            int boolSize = sizeof(bool);
            Console.WriteLine("bool所占的字节数为:" + boolSize);
            int charSize = sizeof(char);
            Console.WriteLine("char所占的字节数为:" + charSize);





        }
    }
}

 

常量 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharp入门_常量
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("常量");
            //常量使用关键字const
            const int c = 1;
            Console.WriteLine("c的值为"+c);
            //常量特点:必须初始化,不可以更改

            //使用常量的场景:声明一些常用的不变的量,如π

        }
    }
}

 

转义字符 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharp入门_转义字符
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("转义字符");
            /*
             * 转义字符的使用
             */
            //单引号   \'
            string str1 = "\'哈哈哈\'";
            Console.WriteLine("str1 = "+str1);
            //双引号 \"
            string str2 = "\"CSharp太好学啦!\"";
            Console.WriteLine("str2 = " + str2);
            //换行  \n
            string str3 = "\"CSharp\n太好学啦!\"";
            Console.WriteLine("str3 = " + str3);
            //斜杠 \\
            string str4 = "\"CSharp\\太好学啦!\"";
            Console.WriteLine("str4 = " + str4);

            /*
             * 下面的是不太常用的转义字符
             * 
             */
            //制表符 \t (空一个tab键)
            string str5 = "我要好好学\t编程";
            Console.WriteLine("str5 = " + str5);
            //光标退格  \b  (光标退一格进行覆盖)
            string str6 = "我要好好学\b编程";
            Console.WriteLine("str6 = " + str6);
            //警报音  \a   这里会有个警报音响起
            string str7 = "\a";
            Console.WriteLine(str7);

            /*
             取消转义字符  使用@
             */
            string str8 = @"\n\\";
            Console.WriteLine("str8 = "+str8);

        }
    }
}

 

隐式转换 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharp入门_隐式转换
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("隐式转换");
            //大范围装小范围,记住这个就可以
            long L = 5;
            int i = 1;
            L = i;
            Console.WriteLine("L = "+L);

            //一般都是这个规律,但是浮点型中decimal不能隐式转换为float和double

            //特殊类型如bool,char,string之间不存在隐式转换,但是char可以隐式转换为整数
            //(因为char取值范围是0-65535,其对应的数字 其实是一个ascll码,一个数字就是一个对应关系)

            //无符号的不能装有符号的,但是有符号的可以装无符号的,因为无符号数没有负数,而有符号数则有负数
            //即有符号数不能隐式转换为无符号数,无符号数可以隐式转换为有符号数(要注意范围是涵盖的,大装小)
            uint ui = 4;
            L = ui;
            Console.WriteLine("L = " +L );

            //浮点数可以装任何类型的 整型

            float f = L;
            Console.WriteLine("f = " + f);

            //总结:
            //double一>f1oat一>所有整形(无符号、有符号)
            //decimal一>所有整形(无符号、有符号)
            //整数不能去装浮点数:浮点数不能隐式转换为整数


            //总结隐式转换规则
            //高精度(大范围)装低精度(小范围)
            //double一 > f1oat一 > 整数(无符号、有符号)一 > char
            //decimal一 > 整数(无符号、有符号)一 > char
            //string和boo1不参与隐式转换规则的

        }
    }
}

 

显示转换 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharp入门_显示转换
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("显示转换");

            //1、强制类型转换  将高精度类型强制转换为低精度类型
            //语法:变量类型 变量名 = (强转的类型)变量;
            //需要注意:精度和范围

            short st = 1;
            int i = 5;
            st = (short)i;
            Console.WriteLine("st的值为:" + st);
            //如果我们范围超过就会出问题
            short so = 2;
            int x = 40000;
            so = (short)x;
            Console.WriteLine("so的值为:" + so);

            //注意:在强制类型转换的时候一定要注意范围,在强制转换浮点型的时候会出现精度变低的情况,要注意
            //浮点数强转成整形时会直接抛弃掉小数点后面的小数
            double b = 1.5999999;
            i = (int)b;
            Console.WriteLine("i的值为:" + i);

            //2、Parse转换 (将字符串类型转换为对应的类型)字符串必须能够转换为对应类型,不然会报错,还有范围
            //语法:变量类型.Parse("字符串");
            int i2 = int.Parse("123");
            Console.WriteLine("i2的值为:" + i2);

            //3、Convert转换
            //作用:
            //更准确的将各个类型之间进行相互转换
            //语法:Convert.To目标类型(变量或常量)
            //注意:填写的变量或常量必须正确否则出错
            int i3 = Convert.ToInt32("1234");
            Console.WriteLine("i3的值为:" + i3);
            //Convert转换时会四舍五入,精度比强制类型转换高
            i3 = Convert.ToInt32(1.688f);
            Console.WriteLine("i3的值为:" + i3);

            //对于bool也可以转化为int
            i3 = Convert.ToInt32(true);
            Console.WriteLine("i3的值为:" + i3);
            i3 = Convert.ToInt32(false);
            Console.WriteLine("i3的值为:" + i3);
            float f1 = Convert.ToSingle(12.5);
            bool b1 = Convert.ToBoolean("true");

            //4、其他类型转string
            //变量.ToString();
            String str3 = 1.ToString();
            Console.WriteLine("str3的值为:" + str3);
            String str4 = 1.5f.ToString();
            Console.WriteLine("str4的值为:" + str4);
            Console.WriteLine("666"+1 +true);//相对于每个都调用了tostring
        }
    }
}

异常捕获 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharp入门_异常捕获
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("异常捕获");
            #region 作用
            //异常捕获作用:避免代码错误造成程序卡死
            //string str = Console.ReadLine();
           // int i = int.Parse(str);//比如这里的str如果输入的范围大于int就会卡死
            #endregion

            #region 语法
            try
            {
                //希望进行异常捕获的代码块
                //如果try中的代码块出现异常就进入catch
            }
            catch(Exception e)//可以通过e得到具体的报错信息(可以不写)
            {
                //如果异常进行的动作
            }
            finally//可选
            {
                //不管有没有出错,都会执行其中的代码
            }
            #endregion

            #region 测试

            try
            {
                string str2 = Console.ReadLine();
                int i2= int.Parse(str2);
                Console.WriteLine(i2);
            }
            catch 
            {
                Console.WriteLine("请输入合法的数字!");
            }
            finally
            {
                Console.WriteLine("执行完毕!");
            }
            #endregion
        }
    }
}

如果输入不合法:

运算符 

算术运算符 

一元运算符描述实例
++增量运算符++a 输出 11
--减量运算符--a 输出 9
+一元加运算符+a 输出 10
-一元减运算符-a 输出 -10
二元运算符描述实例
*乘法运算符a * b 输出 200
/除法运算符b / a 输出 2
%余数运算符b % a 输出 0
+加法运算符b + a 输出 30
-减法运算符b - a 输出 10

布尔逻辑运算符

布尔运算符描述实例
!逻辑非运算符!a 为 False
&逻辑与运算符a & b 为 False
|逻辑或运算符a | b 为 True
^逻辑异或运算符a ^ b 为 True
&&条件逻辑与运算符a && b 为 False
||条件逻辑或运算符a || b 为 True

关系运算符 

位运算符 

位运算符描述实例
~按位求补运算符~a 等于 -2
<<左移位运算符a << 2 等于 4
>>右移位运算符a >> 2 等于 0
>>>无符号右移运算符a >>> 2 等于 0
&逻辑与运算符a & b 等于 0
^逻辑异或运算符a ^ b 等于 3
|逻辑或运算符a | b 等于 3

其他运算符 

字符串拼接 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharp入门_字符串拼接
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("字符串拼接");
            //1、用+号进行字符串拼接
            string str = "123";
            Console.WriteLine(str+"456");
            str = str + 1;
            Console.WriteLine(str);

            str = "123";
            str += "1" + 4 + true;
            Console.WriteLine(str);

            str += 1 + 2 + 3 + 4;
            Console.WriteLine(str);
            str += "" + 1 + 2 + 3;
            Console.WriteLine(str);

            //2、使用string.Format();
            //string.Format("待拼接的内容",内容1,内容2,.....)
            //拼接内容中的固定规则
            //想要被拼接的内容用占位符替代{数字}数字:n依次往后
            string str3;
            str3 = string.Format("我爱{0}, 我今年{1}岁, 我想好好学习{2}", "学习",18, "C#");
            Console.WriteLine(str3);
            str3 = string.Format("{0}{1}{2}", 1, true, false);
            Console.WriteLine(str3);

            //3、控制台打印
            Console.WriteLine("A{0}B{1}C{2}", 1, true, false);

            //注意:后面的内容可以比前面多,但是不能比前面少,否则会报错,还有占位符数字要从0开始
        }
    }
}

 

条件分支语句 

if...else 语句

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharp入门_条件分支语句
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("条件分支语句");
            //if语句
            int i = 0;
            int flag = 0;
            if (flag == 0)
            {
                i = 100;
                flag = 1;
            }
            Console.WriteLine(i);

            //if...else

            if (flag == 1)
            {
                i = 200;
            }
            else
            {
                i = 1;
            }
            Console.WriteLine(i);

            //再举一个
            Console.WriteLine("请输入性别:"+"输入男或者女");
            string sex = Console.ReadLine();
            if (sex == "男")
            {
                Console.WriteLine("我是男生");

            }
            else
            {
                Console.WriteLine("我是女生");
            }
        }
    }
}

 

switch语句 

            //switch语句
            int a = 3;
            switch (a)
            {
                case 1: //条件只能是常量
                    Console.WriteLine("a = 1");
                    break;
                case 2:
                    Console.WriteLine("a = 2");
                    break;
                case 3:
                    Console.WriteLine("a = 3");
                    break;
                default:
                    Console.WriteLine("什么条件都不满足,执行default语句");
                    break;
            }

            //switch也支持自定义常量
            int b = 2;
            const int x = 2;
            switch (b)
            {
                case 1: //条件只能是常量
                    Console.WriteLine("b = 1");
                    break;
                case x:
                    Console.WriteLine("b = 2");
                    break;
                case 3:
                    Console.WriteLine("b = 3");
                    break;
                default:
                    Console.WriteLine("什么条件都不满足,执行default语句");
                    break;
            }

            //同时需要注意的是switch会进行贯穿

            int c = 1;
            
            switch (c)
            {
                case 1: //条件只能是常量
                   
                case 2:
  
                case 3:
                    Console.WriteLine("c = 3");  //C#的贯穿和java不一样,java的在case后面还可以进行执行语句,而C#后面只能像上述所写
                                                 //贯穿到第一个break,所以结果是c = 3
                    break;
                default:
                    Console.WriteLine("什么条件都不满足,执行default语句");
                    break;
            }

 

循环语句 

while语句 

写循环语句的时候一般要避免写死循环(条件一直为真) 还会造成程序卡死

但是有时候也会用到死循环

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharp入门_循环语句
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("循环语句");

            //while语句
            //while (true)
            //{
            //    Console.WriteLine("这是一个死循环");
            //}
            //巧用死循环
            string password = "123456";
            while (true)
            {
                Console.WriteLine("请用户输入密码:");
                string str = Console.ReadLine();

                if (str == password)
                {
                    Console.WriteLine("登录成功!");
                    break;
                }

            }
        }
    }
}

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharp入门_循环语句
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("循环语句");

            //while语句
            //while (true)
            //{
            //    Console.WriteLine("这是一个死循环");
            //}
            //巧用死循环
            string password = "123456";
            while (true)
            {
                Console.WriteLine("请用户输入密码:");
                string str = Console.ReadLine();

                if (str == password)
                {
                    Console.WriteLine("登录成功!");
                    break;//跳出循环
                }

            }
            int i = 0;
            while (i < 10)
            {
                i++;
            }
            Console.WriteLine("i = "+i);
        }
    }
}

         //打印1到20之间的奇数
            int index = 0;
            while (index < 20)
            {
                ++index;
                //什么样的数是奇数
                //不能被2整除的数一>%
                if (index % 2 == 0)
                    continue;  //回到循环开始,继续执行
                Console.WriteLine(index);
            }

 

do while语句 (使用较少)

do while语句和while的不同在于do while是先执行一次再进行判断,其他基本一致。

          int a = 0;
            do
            {
                a++;

            } while (a<5);
            Console.WriteLine(a);//如果使用while的话这里的a就变成4了

 

需要注意一点的是:continue在该语句中使用的时候是跳转到while进行判断,而不是从上到下 

for循环 (最常用)

for循环特别适合在某个范围内进行取值的操作,一般while能做的,for循环都可以做

            for (int p = 0; p < 10; p++)
            {
                Console.WriteLine(p);
            }

            //for (; ; )
            //{
            //    Console.WriteLine("for循环的死循环");
            //}
            int i ;
            for (i = 0; i < 10; i++)
            {
                for(int j = 0; j < 10; j++)
                {
                    Console.WriteLine(i+"_"+j);
                }
            }

 

好了,C#(CSharp)入门教程到这里就基本结束了,全程都由本人在线学习进行敲的代码,可以直接拿来实验,多敲代码,才能掌握的更好哈!加油,接着学!

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

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

相关文章

unity lua开发体系搭建

在前面的文章里面我们已经介绍了怎么样在unity里面配置lua的开发环境&#xff0c;我们可以通过C#代码装载lua的脚本并执行相应的处理&#xff0c;这次我们一步步搭建下lua的开发体系。 1.基于c#体系所有的类都继承MonoBehaviour在这里lua环境下我们也需要创建一个类似于这个类的…

Stm32_标准库_呼吸灯_按键控制

Stm32按键和输出差不多 PA1为LED供给正电&#xff0c;PB5放置按键&#xff0c;按键一端接PB5,另一端接负极 void Key_Init(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //APB2总线连接着GPIOBGPIO_InitStructur.GPIO_Mode GPIO_Mode_IPU;GPIO_InitStructur.…

@vitejs/plugin-legacy 为你的 Vite 项目提供对旧版浏览器的支持

vitejs/plugin-legacy 是 Vite 生态系统中的一个插件&#xff0c;它的作用是为你的 Vite 项目提供对旧版浏览器的支持。 具体而言&#xff0c;该插件会根据你在项目配置中指定的目标浏览器列表&#xff08;通过 browserslist 字段&#xff09;&#xff0c;自动生成兼容旧版浏览…

FPGA 图像缩放 千兆网 UDP 网络视频传输,基于RTL8211 PHY实现,提供工程和QT上位机源码加技术支持

目录 1、前言版本更新说明免责声明 2、相关方案推荐UDP视频传输--无缩放FPGA图像缩放方案我这里已有的以太网方案 3、设计思路框架视频源选择ADV7611 解码芯片配置及采集动态彩条跨时钟FIFO图像缩放模块详解设计框图代码框图2种插值算法的整合与选择 UDP协议栈UDP视频数据组包U…

面试题08.05.递归算法

递归乘法。 写一个递归函数&#xff0c;不使用 * 运算符&#xff0c; 实现两个正整数的相乘。可以使用加号、减号、位移&#xff0c;但要吝啬一些。 示例1: 输入&#xff1a;A 1, B 10输出&#xff1a;10示例2: 输入&#xff1a;A 3, B 4输出&#xff1a;12提示: 保证乘法…

nodejs+vue 大学生就业管理系统

随着信息化时代的到来&#xff0c;管理系统都趋向于智能化、系统化&#xff0c;学生就业管理系统也不例外&#xff0c;但目前国内仍都使用人工管理&#xff0c;市场规模越来越大&#xff0c;同时信息量也越来越庞大&#xff0c;人工管理显然已无法应对时代的变化&#xff0c;而…

从MVC到DDD,该如何下手重构?

作者&#xff1a;付政委 博客&#xff1a;bugstack.cn 沉淀、分享、成长&#xff0c;让自己和他人都能有所收获&#xff01;&#x1f604; 大家好&#xff0c;我是技术UP主小傅哥。多年的 DDD 应用&#xff0c;使我开了技术的眼界&#xff01; MVC 旧工程腐化严重&#xff0c;…

云HIS 医院综合运营管理系统源码

医院管理信息系统&#xff08;HIS&#xff09;是医院基本、重要的管理系统&#xff0c;是医院大数据的基础。 基于云计算的云医疗信息系统&#xff08;云HIS&#xff09;。以SaaS的方式提供服务&#xff0c;系统遵循服务化、模块化原则开发&#xff0c;具有强大的可扩展性&…

vue实现移动端悬浮可拖拽按钮

需求&#xff1a; 按钮在页面侧边悬浮显示&#xff1b;点击按钮可展开多个快捷方式按钮&#xff0c;从下向上展开。长按按钮&#xff0c;则允许拖拽来改变按钮位置&#xff0c;按钮为非展开状态&#xff1b;按钮移动结束&#xff0c;手指松开&#xff0c;计算距离左右两侧距离…

喜迎中秋国庆双节,华为云Astro Canvas之我的中秋节设计大屏

目录 前言 前提条件 作品展示 薅羊毛 前言 大屏应用华为云Astro Canvas是华为云低代码平台Astro的子服务之一&#xff0c;是以数据可视化为核心&#xff0c;以屏幕轻松编排&#xff0c;多屏适配可视为基础&#xff0c;用户可通过图形化界面轻松搭建专业水准的数据可视化大屏…

面试:Spring中单例模式用的是哪种?

你好&#xff0c;我是田哥 需要简历优化、模拟面试、面试辅导、技术辅导......请联系我。10年码农24小时在线为你服务。 面试中被问到设计模式的概率还是蛮高的&#xff0c;尤其是问&#xff1a;你在项目中用过设计模式吗&#xff1f; 面对这个问题&#xff0c;我也在做模拟面试…

使用香橙派 在Linux环境中安装并学习Python

前言 在实际项目中&#xff0c;经常会遇到需要使用人工智能的场景&#xff0c;如人脸识别&#xff0c;车牌识别等...其一般的流程就是由单片机采集数据发送给提供人工智能算法模型的公司&#xff08;百度云&#xff0c;阿里云...&#xff09;&#xff0c;然后人工智能将结果回…

使用 Python 函数callable和isinstance的意义

一、说明 在这篇博客中&#xff0c;我们将探讨两个python函数&#xff1a;1 callable 中的函数及其有趣的应用程序。该callable函数用于检查对象是否可调用&#xff0c;这意味着它可以作为函数调用。2 isinstance这个内置函数允许我们比较两种不同的数据类型并确定它们是否相…

rancher部署pv、pvc、离线部署nfs

&#xff08;1&#xff09;NFS离线安装 使用nfs配置两台机器共享目录 假设两台机器188.188.30.32&#xff08;服务端&#xff09;、188.188.30.31&#xff08;客户端&#xff09;配置nfs 1.在可以联网的机器上下载rpm安装包 yum -y install nfs-utils --downloadonly --dow…

ETF场内基金佣金最低可达万0.5!速速办理

2023年ETF基金开户&#xff0c;交易手续费佣金一般默认是万三左右的&#xff0c;最低是5元起。想要申请低佣金是可以通过线上客户经理办理的&#xff0c;客户经理手中一般都是有低佣金开户渠道的&#xff0c;账户开通后还可以给您提供VIP专属服务&#xff0c;十几分钟就可以办理…

NPU上PyTorch模型训练问题案例

在昇腾AI处理器上训练PyTorch框架模型时&#xff0c;可能由于环境变量设置问题、训练脚本代码问题&#xff0c;导致打印出的堆栈报错与实际错误并不一致、脚本运行异常等问题&#xff0c;那么本期就分享几个关于PyTorch模型训练问题的典型案例&#xff0c;并给出原因分析及解决…

动态照片怎么制作?教你如何制作gif动图

Gif动图想必大家都不陌生吧&#xff01;那么&#xff0c;这种gif格式的动图要怎么操作呢&#xff1f;很简单通过使用gif动态图片制作&#xff08;https://www.gif.cn/&#xff09;工具-GIF中文网&#xff0c;只需上传jpg、png格式的两张以上图片无需下载软件&#xff0c;手机、…

为什么说网络安全是IT行业最后的红利?是风口行业?

前言 “没有网络安全就没有国家安全”。当前&#xff0c;网络安全已被提升到国家战略的高度&#xff0c;成为影响国家安全、社会稳定至关重要的因素之一。 网络安全行业特点 1、就业薪资非常高&#xff0c;涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万…

uniapp ui安装 阿里图标库使用 报错 Assignment to constant variable.

安装 ui uni-app官网 (dcloud.net.cn) &#xff08;一&#xff09;安装 pages.js配置 安装 sassnpm i sass -D 或 yarn add sass -D 安装 sass-loader npm i sass-loader10.1.1 -D 或 yarn add sass-loader10.1.1 -D安装 uni-uinpm i dcloudio/uni-ui 或 yarn a…

VMware:一个多云+AI的未来

“以往在应用人工智能时&#xff0c;首先你需要一个基础算法模型&#xff0c;然后使用特定的数据进行处理&#xff0c;最后再将其加人到应用程序上…… 但是很显然&#xff0c;这里的每一步骤都涉及到法律和隐私问题&#xff1a;算法模型的知识产权、私人数据的法律风险&#x…