网站开发设计课程教案/网站定制设计
目录
一、数组
1、数组的声明
1.1 一维数组声明:
1.2 多维数组声明:
2、数组的实例化和赋值
2.1 数组在声明时通过在花括号中使用以逗号分隔的数据项对数组赋值, 例如:
2.2 如果在声明后赋值,则需要使用new
2.3 C# 也支持将new 作为声明语句的一部分, 例如:
2.4 在new 关键字作为数组赋值的一部分,可以同时在括号内指定数组的大小
2.5 在为数组分配空间时可以不指定初始值。 例如:
2.6 分配数组但不指定初始值仍会初始化每个元素,每个元素都将初始化成默认值
2.8 类似一维数组,多维数组也能声明的时候初始化 或者仅分配空间, 例如:
2.9 多维数组每一维的大小必须一致,例如下列声明是错误的
2.10 在多维数组中,元素是用每个维上的一个索引来标识的, 例如:
3、交错数组
3.1 交错数组是指数组的数组,它不要求数组的每一维大小一致,但需要为内部的每个数组都创建数组实例。例如:
3.2 交错数组中元素是用每个维上的一个索引来标识的, 例如:
4、获取数组长度和维度
4.1 数组的长度是固定的,不能随便更改,除非重新创建数组。此外,数组越界会抛出异常
4.2 数组的 Length 属性返回数组的长度
4.3 要获得数组特定维的长度需要使用GetLength() 方法,调用时要指定返回哪一维的长度,还可以使用Rank 成员获取整个数组的维度, 例如:
5、数组方法
数组提供了更多的方法来操纵数组中的元素,例如 Sort, BinarySearch 等:
二、操作符
1、操作符
1.1 操作符通常操作符分为3大类:一元操作符、二元操作符、三元操作符
1.2 一元操作符正负(+/-)。 例:decimal debt = -18125876697430.99M
1.3 二元算术操作符
1.4 加法操作符用于字符串
1.5 加法操作符可用来拼接两个或更多字符
1.6 在算术运算中可以直接操作字符, 例如:
2、浮点数
2.1 比较两个浮点数是否相等时,浮点类型的不准确性可能造成严重的后果
2.2 避免将二进制浮点数用于相等性条件式。要么判断两个值之差是否在容差范围内,要么使用 decimal 类型
2.3 C#中,浮点数0除以0将会得到 “NaN”; 当浮点向上溢出时,将会得到Infinity,向下溢出将会得到 –Infinity
3、复合赋值操作符
3.1 C#中同样支持下列复合赋值操作符:
3.2 前缀操作符和后缀操作符例子:
3.3 常量表达式和常量符号
3.4 常量表达式是指C# 编译时能求值的表达式
3.5 值为常量表达式的符号称为常量符号。常量符号的值在生命周期内不能被改变。C#中使用 const 声明常量符号
三、控制流
1、if 语句
1.1 语法形式
1.2 if 语句中的条件称为布尔表达式,不同于C++, C# 要求条件必须是布尔类型
1.3 嵌套if 语句
2、switch 语句
2.1 语法形式
3、关系操作符
3.1 关系和相等型操作符编辑
3.2 使用相等操作符例子
4、逻辑布尔操作符
4.1 OR 操作符 (||)
4.2 AND (&&)操作符
4.3 XOR (^) 操作符
4.4 逻辑反(!)操作符
5、条件及空结合操作符
5.1 条件运算符语法:
5.2 C# 要求条件运算符的 consequence 和alternative 类型一致,而且在判定类型时不会检查表达式上下文。
5.3 空结合运算符 (??) (C# 6.0) expr1 ?? expr2
5.4 表示如果expr1 不为null,返回expr1的值,否则返回expr2的值。
5.5 空结合运算符 (??) 能组成调用链,
6、null 条件操作符
6.1 在调用值为null的方法时,程序将抛出System.NullReferenceException 异常
6.2 null 条件运算符(C# 6.0) 在调用方法或属性之前检查操作数是否为null,如果为null 则忽略调用直接返回null
6.3 当调用成员返回是一个值类型时,null 条件运算符总是返回该类型可为空版本,
6.4 null条件操作符可以组成调用链。
6.5 null 条件运算符 也可以和索引操作符结合使用
7、位操作符
7.1 移位操作符
7.2 按位操作符
8、循环
8.1 while 语法
8.2 do/while 语法
8.3 for 循环
8.4 所有循环的条件必须是布尔表达式
8.5 foreach 循环
8.5.1 foreach 遍历数据项集合,设置循环变量来依次表示每一项,语法形式如下:
8.5.2 例子:
9、C#预处理指令
10、错误和警告
10.1 C# 允许在代码中插入 #error 和 #warning 指令分别来生成错误和警告信息, 例如:
10.2 C#编译器提供了预处理指令#pragma 来关闭或还原警告
11、#region
11.1 C# 允许使用#region指令展开或折叠代码区域 ,当这组代码被折叠起来的时候,我们可以看到#region后面的说明文字。
11.2 #region和#endregion 必须成对使用,两个指令都可以选择在指令后面跟随一个描述性字符
11.3 #region 块不能与 #if块重叠。但是,可以将 #region 块嵌套在 #if 块内,或将 #if 块嵌套在 #region 块内。
一、数组
1、数组的声明
1.1 一维数组声明:
T[] 表示T类型元素的数组,元素的索引值范围从0 到 size -1,可以使用下标运算符[]访问数组中元素, 例如:string[] languages
1.2 多维数组声明:
T[, …, ] 表示T类型元素的多维数组,数组的维数等于逗号数加1, 例如:int[, ] cells
2、数组的实例化和赋值
2.1 数组在声明时通过在花括号中使用以逗号分隔的数据项对数组赋值, 例如:
string[] languages={ "C#", "COBOL", "JAVA", "C++"};
2.2 如果在声明后赋值,则需要使用new
string[] languages;
languages = new string[]{ "C#", "COBOL", "JAVA", "C++"};
2.3 C# 也支持将new 作为声明语句的一部分, 例如:
string[] languages= new string[]{ "C#", "COBOL", "JAVA", "C++"};
2.4 在new 关键字作为数组赋值的一部分,可以同时在括号内指定数组的大小
string[] languages= new string[4]{ "C#", "COBOL", "JAVA", "C++"};
2.5 在为数组分配空间时可以不指定初始值。 例如:
string[] languages = new string[9];
2.6 分配数组但不指定初始值仍会初始化每个元素,每个元素都将初始化成默认值
- 引用类型初始化为null
- 数值类型初始化为0
- bool 初始化为 false
- char 初始化为 \0
- 非基础值类型以递归方式初始化,每个字段被初始化为默认值
2.8 类似一维数组,多维数组也能声明的时候初始化 或者仅分配空间, 例如:
int[,] cells = { {1, 0, 2}, {1, 2, 0}, {1, 2, 1} };
Int[,] arr = int[3,3];
2.9 多维数组每一维的大小必须一致,例如下列声明是错误的
int[,] cells = { {1, 0, 2, 0}, {1, 2, 0}, {1, 2}, {1}};
2.10 在多维数组中,元素是用每个维上的一个索引来标识的, 例如:
int[,] cells = { {1, 0, 2}, {1, 2, 0}, {1, 2, 1} };
cells[1, 0] = 1;
3、交错数组
3.1 交错数组是指数组的数组,它不要求数组的每一维大小一致,但需要为内部的每个数组都创建数组实例。例如:
int[][] cells = {new int[] {1, 0, 2, 0}, new int[] {1, 2, 0}, new int[] {1, 2}, new int[] {1}};
3.2 交错数组中元素是用每个维上的一个索引来标识的, 例如:
int[][] cells = { new int[] {1, 0, 2}, new int[] {1, 2, 0}, new int[] {1, 2, 1}}; cells[1][0] = 1; // ...
4、获取数组长度和维度
4.1 数组的长度是固定的,不能随便更改,除非重新创建数组。此外,数组越界会抛出异常
4.2 数组的 Length 属性返回数组的长度
- 对于一维和多维数组,它返回数组中元素的总数
- 对于交错数组,它返回最外层数组的元素数
4.3 要获得数组特定维的长度需要使用GetLength() 方法,调用时要指定返回哪一维的长度,还可以使用Rank 成员获取整个数组的维度, 例如:
bool[, ,] cells;
cells = new bool[2, 3, 3];
System.Console.WriteLine(cells.GetLength(0)); // Displays 2
System.Console.WriteLine(cells.Rank); // Displays 3
5、数组方法
数组提供了更多的方法来操纵数组中的元素,例如 Sort, BinarySearch 等:
public static void Main()
{ string[] languages = new string[] { "C#", "COBOL", "Java", "C++", "Visual Basic", "Pascal", "Fortran", "Lisp", "J#" };System.Array.Sort(languages);string searchString = "COBOL";int index = System.Array.BinarySearch(languages, searchString);System.Console.WriteLine("The wave of the future, " + $"{ searchString}, is at index {index }.");System.Console.WriteLine();System.Console.WriteLine($"{"First Element",-20 }\t{"Last Element", -20 }"); System.Console.WriteLine($"{"-------------",-20 }\t{"------------",-20 } "); System.Console.WriteLine($"{ languages[0],-20 }\t{ languages[languages.Length - 1],-20 } "); System.Array.Reverse(languages); System.Console.WriteLine($"{ languages[0],-20 }\t{ languages[languages.Length - 1],-20 }"); // Note this does not remove all items from the array. Rather it sets each item to the type’s default value. System.Array.Clear(languages, 0, languages.Length); System.Console.WriteLine($"{ languages[0],-20 }\t{ languages[languages.Length - 1],-20 }"); System.Console.WriteLine($"After clearing, the array size is: { languages.Length }");
}
二、操作符
1、操作符
1.1 操作符通常操作符分为3大类:一元操作符、二元操作符、三元操作符
1.2 一元操作符正负(+/-)。 例:decimal debt = -18125876697430.99M
1.3 二元算术操作符
- *、 / 和 % 具有最高优先级
- + 和 – 具有较低优先级
- = 优先级最低
1.4 加法操作符用于字符串
1.5 加法操作符可用来拼接两个或更多字符
public static void Main()
{ short windSpeed = 42; Console.WriteLine("The original Tacoma Bridge in Washington\nwas " + "brought down by a " + windSpeed + " mile/hour wind.");
}
1.6 在算术运算中可以直接操作字符, 例如:
public static void Main()
{ int n = '3' + '4';char c = (char)n;System.Console.WriteLine(c); // Writes out g.int a = '3';System.Console.WriteLine($"0x{a:x}");
}
2、浮点数
2.1 比较两个浮点数是否相等时,浮点类型的不准确性可能造成严重的后果
public static void Main()
{ decimal decimalNumber = 4.2M; double doubleNumber1 = 0.1F * 42F; double doubleNumber2 = 0.1D * 42D; float floatNumber = 0.1F * 42F; Console.WriteLine($"{decimalNumber} != {(decimal)doubleNumber1}"); Console.WriteLine($"{(double)decimalNumber} != {doubleNumber1}"); Console.WriteLine($"(float){(float)decimalNumber}M != {floatNumber}F"); Console.WriteLine($"{doubleNumber1} != {(double)floatNumber}"); Console.WriteLine($"{doubleNumber1} != {doubleNumber2}"); Console.WriteLine($"{floatNumber}F != {doubleNumber2}D"); Console.WriteLine($"{(double)4.2F} != {4.2D}"); Console.WriteLine($“{4.2F}F != {4.2D}D");
}
2.2 避免将二进制浮点数用于相等性条件式。要么判断两个值之差是否在容差范围内,要么使用 decimal 类型
2.3 C#中,浮点数0除以0将会得到 “NaN”; 当浮点向上溢出时,将会得到Infinity,向下溢出将会得到 –Infinity
public static void Main()
{ System.Console.WriteLine(0 / 0); // Displays: -Infinity System.Console.WriteLine(-1f / 0); // Displays: Infinity System.Console.WriteLine(3.402823E+38f * 2f);
}
3、复合赋值操作符
3.1 C#中同样支持下列复合赋值操作符:
*=expr /=expr %=expr +=expr -=expr ++expr expr ++ --expr expr--
3.2 前缀操作符和后缀操作符例子:
public static void Main()
{ int x = 123; // Displays 123, 124, 125. Console.WriteLine($"{x++}, {x++}, {x}"); // x now contains the value 125. // Displays 126, 127, 127. Console.WriteLine($"{++x}, {++x}, {x}"); // x now contains the value 127.
}
3.3 常量表达式和常量符号
3.4 常量表达式是指C# 编译时能求值的表达式
3.5 值为常量表达式的符号称为常量符号。常量符号的值在生命周期内不能被改变。C#中使用 const 声明常量符号
public static void Main()
{ const int secondsPerDay = 60 * 60 * 24; const int secondsPerWeek = secondsPerDay * 7; // ...
}
三、控制流
1、if 语句
1.1 语法形式
if(contidition)consequence-statement
else alternative-statement
1.2 if 语句中的条件称为布尔表达式,不同于C++, C# 要求条件必须是布尔类型
1.3 嵌套if 语句
public static void Main()
{if(input < 0)System.Console.WriteLine("Exiting...");else if(input < 9)System.Console.WriteLine($"Tic-tac-toe has more than {input}" + " maximum turns.");else if (input > 9)System.Console.WriteLine($"Tic-tac-toe has less than {input}" + " maximum turns.");elseSystem.Console.WriteLine("Correct, tic-tac-toe has a maximum " + " of 9 turns.");
}
public static int input { get; set; }
2、switch 语句
2.1 语法形式
switch (expr )
{case constant: statements default: statements }
expr的类型决定了switch 的“主导类型”(governing type).允许的主导类型包括:
- bool, sbyte, byte, short, ushort, int, uint, long, ulong, char, enum 类型 以及上述类型的可空
- 类型和string
constant: 与主导类型兼容的常量表达
3、关系操作符
3.1 关系和相等型操作符
3.2 使用相等操作符例子
public static void Main()
{if(input == "" || input == "quit"){Console.WriteLine($"Player {currentPlayer} quit!!");}
}
public static string input { get; set; }
4、逻辑布尔操作符
4.1 OR 操作符 (||)
- || 对两个表达式求值, 如果其中任一个为true, 就返回true
- || 操作符是从左往右求值的,如果左边为true,则右表达式被忽略
4.2 AND (&&)操作符
- && 在两个表达式都为true的情况下才返回true
- &&操作符也是从左往右求值的,如果左边为false,则右表达式被忽略
4.3 XOR (^) 操作符
- ^操作符在两个表达式值互异的情况下才返回true.
- ^操作符总是对两个表达式求值
4.4 逻辑反(!)操作符
- 用于反转一个布尔类型数值,例如:bool valid = false;bool result = !valid;
5、条件及空结合操作符
5.1 条件运算符语法:
- condition ? consequence : alternative;
5.2 C# 要求条件运算符的 consequence 和alternative 类型一致,而且在判定类型时不会检查表达式上下文。
- 例如:f? “abc” : 123 ; // illegal expr
5.3 空结合运算符 (??) (C# 6.0) expr1 ?? expr2
5.4 表示如果expr1 不为null,返回expr1的值,否则返回expr2的值。
- 例如:string file_name = file_name?? “default.txt”;
5.5 空结合运算符 (??) 能组成调用链,
- 例如:x ?? y ?? z;
6、null 条件操作符
6.1 在调用值为null的方法时,程序将抛出System.NullReferenceException 异常
6.2 null 条件运算符(C# 6.0) 在调用方法或属性之前检查操作数是否为null,如果为null 则忽略调用直接返回null
static void Main(string[] args)
{if (args?.Length == null)System.Console.WriteLine("ERROR: File missing. "+ "Use:\n\tfind.exe file:<filename>");else{if (args[0]?.ToLower().StartsWith("file:")??false){string fileName = args[0]?.Remove(0, 5);// ...}}
}
6.3 当调用成员返回是一个值类型时,null 条件运算符总是返回该类型可为空版本,
- 例如:args?.Length 返回 int ?
6.4 null条件操作符可以组成调用链。
例如:args[0]?.ToLower().StartsWith("file:")
6.5 null 条件运算符 也可以和索引操作符结合使用
public static void Main(string[] args)
{// CAUTION: args?.Length not verified.string directoryPath = args?[0];string searchPattern = args?[1];// ...
}
7、位操作符
7.1 移位操作符
- 和C++ 一样,C#支持 << >> <<= >>= 操作符,例如: int x= -7 >>2;
7.2 按位操作符
- C#支持 ~,& ,| , ^, 及 &= ,|= , ^= 操作符
public static void Main()
{const int size = 64;ulong value;char bit;System.Console.Write("Enter an integer: ");value = (ulong)long.Parse(System.Console.ReadLine());// Use long.Parse() to support negative numbers ulong mask = 1UL << size - 1;// Set initial mask to 100....for(int count = 0; count < size; count++){bit = ((mask & value) != 0) ? '1' : '0';System.Console.Write(bit);mask >>= 1;// Shift mask one location over to the right}System.Console.WriteLine();
}
8、循环
8.1 while 语法
while (condition)
{ statement;
}
8.2 do/while 语法
do
{ statement
}while(condition);
8.3 for 循环
for (initial; condition; loop)
{ statement;
}
8.4 所有循环的条件必须是布尔表达式
8.5 foreach 循环
8.5.1 foreach 遍历数据项集合,设置循环变量来依次表示每一项,语法形式如下:
foreach(type variable in collection)
{statement;
}
- type:collection每一项的variable 的数据类型,可将类型设置为var
- variable:只读变量,foreach循环自动将collection中下一项赋给它
- collection:多个数据项的表达式,如 数组等
- Statement : 循环体语句集合
8.5.2 例子:
public static void Main() // Declares the entry point of the program.
{char[] cells = {'1', '2', '3', '4', '5', '6', '7', '8', '9'};// Write out the initial available movesforeach(char cell in cells){if(cell != 'O' && cell != 'X’)System.Console.Write($"{ cell } ");}
}
9、C#预处理指令
10、错误和警告
10.1 C# 允许在代码中插入 #error 和 #warning 指令分别来生成错误和警告信息, 例如:
public static void Main()
{#warning "Same move allowed multiple times."
}
10.2 C#编译器提供了预处理指令#pragma 来关闭或还原警告
- #pragma warning disable 1030 禁用 #warning指令
- #pragma warning restore 1030 还原 #warning指令
11、#region
- C# 允许使用#region指令展开或折叠代码区域 ,当这组代码被折叠起来的时候,我们可以看到#region后面的说明文字。
- #region和#endregion 必须成对使用,两个指令都可以选择在指令后面跟随一个描述性字符
- #region 块不能与 #if块重叠。但是,可以将 #region 块嵌套在 #if 块内,或将 #if 块嵌套在 #region 块内。
相关文章:

【C# Programming】编程入门:数组、操作符、控制流
目录 一、数组 1、数组的声明 1.1 一维数组声明: 1.2 多维数组声明: 2、数组的实例化和赋值 2.1 数组在声明时通过在花括号中使用以逗号分隔的数据项对数组赋值, 例如: 2.2 如果在声明后赋值,则需…...

线上问诊:业务数据采集
系列文章目录 线上问诊:业务数据采集 文章目录 系列文章目录前言一、环境准备1.Hadoop2.Zookeeper3.Kafka4.Flume5.Mysql6.Maxwell 二、业务数据采集1.数据模拟2.采集通道 总结 前言 暑假躺了两个月,也没咋写博客,准备在开学前再做个项目找…...

2023 CCPC 华为云计算挑战赛 hdu7399 博弈,启动!(图上博弈/枚举+逆向有向图sg函数)
题目 给定t(t<200)组样例, 每次给定一个n(n<300)个左边的点m(m<300)个右边的点的二分图,图无重边 所有边总量不超过5e5 初始时棋子可以被放置在任意一个点上, 若被放置在左边,则Alice先走;被放置在右边&a…...

Unity之 Vector3 的详细介绍以及方法的介绍
文章目录 总的介绍小试牛刀相关的描述的参数看个小例子 总的介绍 当涉及到Unity中的Vector3类时,以下是一些常用的方法和操作: magnitude 方法:返回向量的长度。 float length vector.magnitude;sqrMagnitude 方法:返回向量的平…...

Postgresql部署及简单操作
目录 1、介绍 2、什么是PostgreSQL 3、PostgreSQL 的特点 4、数据库定为 5、环境准备 6、编译安装 6.1 安装依赖包 6.2 下载安装包 6.3 创建用户 6.4 创建 postgresql数据目录并授权 6.5 上传压缩包并解压 6.6 编译postgresql源码 6.7 配置环境变量 6.8 初始化数…...

rabbitmq集群搭建
升级步骤 1.升级包上传 1.1上传erlang、rabbitmq安装包 创建对应升级目录 将安装包otp_src_22.1.7.tar.gz上传到新创建的目录下 将安装包rabbitmq-server-generic-unix-3.8.9.tar.xz上传到新创建的目录下 1.2 执行解压命令tar -zxvf otp_src_22.1.7.tar.gz xz -d rabbitmq-s…...

C++ 二叉搜索树的概念特性
1. 二叉搜索树 1.1 二叉搜索树概念 二叉搜索树又称二叉排序树,它或者是一棵空树 ,或者是具有以下性质的二叉树 : 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大…...

7、Spring_AOP
一、Spring AOP 简介 1.概述 对于spring来说,有三大组件,IOC,ID,AOP aop概述:AOP(Aspect Oriented Programming)面向切面编程。 作用:不改变原有代码设计的基础上实现功能增强 例子 传统打印日志 使用…...

QChart:数据可视化(用图像形式显示数据内容)
1、数据可视化的图形有:柱状/线状/条形/面积/饼/点图、仪表盘、走势图,弦图、金字塔、预测曲线图、关系图、数学公式图、行政地图、GIS地图等。 2、在QT Creator的主页面,点击 欢迎》示例》右侧输入框 输入Chart,即可查看到QChar…...

【python】Leetcode(primer-set)
文章目录 78. 子集(集合的所有子集)90. 子集 II(集合的所有子集) 更多 leetcode 题解可参考:【Programming】 78. 子集(集合的所有子集) 给定一组不含重复元素的整数数组 nums,返回…...

【LVS集群】
目录 一、集群概述 1.负载均衡技术类型 2.负载均衡实现方式 二、LVS结构 1.三层结构 2.架构对象 三、LVS工作模式 四、LVS负载均衡算法 1.静态负载均衡 2.动态负载均衡 五、ipvsadm命令详解 1. -A 2. -D 3. -L 4. -a 5. -d 6. -l 7. -t 8. -s 9. -r 10. -…...

软考高级系统架构设计师系列之:论文题目类型、论文考试大纲、历年考试论文真题汇总、论文写作原则、论文写作常见问题、论文评分标准
软考高级系统架构设计师系列之:论文题目类型、论文考试大纲、历年考试论文真题汇总、论文写作原则、论文写作常见问题、论文评分标准 一、论文写作概述二、论文题目类型三、论文考试大纲1.系统建模2.软件架构设计3.系统设计4.分布式系统设计5.系统的可靠性分析与设计6.系统的安…...

完整的application.xml
<!-- 资源文件配置 --><beans profile"dev"><bean class"com.ningpai.util.CustomPropertyPlaceholderConfigurer"><property name"locations"><list><value>classpath:/com/ningpai/web/config/dev/jdbc.p…...

C语言:运算符优先级
一、优先级(常使用的运算符) 见表格 二、注意 总体原则:算术运算符 > 关系运算符 > 逻辑运算符 > 赋值运算符 同一级别下的运算符的运算次序由表达式的结合方向决定 运算符注释级别( )圆括号1[ ]数组下标1后置后置2后置--后置--2前置…...

Android GreenDao数据库升级(附Demo)
前言 大家好久不见,一转眼马上八月份下旬了,最近由于工作比较忙,没时间给大家更新博文。百忙之中抽出时间,给大家来更新一篇关于GreenDao3数据库的升级。 关于GreenDao的详细介绍以及一些逻辑性的增、删、改、查等,可以…...

剑指 Offer 32 - III. 从上到下打印二叉树 III
目录 使用函数实现 使用双端队列实现 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。 例如: 给定二叉树: [3,9,20,nu…...

【QT5-自我学习-线程qThread移植与使用-通过代码完成自己需要功能-移植小记3】
【QT5-自我学习-线程qThread移植与使用-通过代码完成自己需要功能-移植小记3】 1、前言2、实验环境3、自我总结(1)文件的编写(2)信号与槽的新理解(3)线程数据的传递 4、移植步骤第一步:添加新文…...

后端开发12.商品模块
概述 简介 商品模块这个设计的非常复杂 效果图 数据库...

/usr/bin/containerd: Operation not permitted
问题 今天在重启docker程序的时候一直启动不起来,通过systemctl status docker和jourctl -xu docker也没有发现什么有用的报错信息,无奈只好查看/var/log/message,发现以下错误提示: Started containerd container runtime Start…...

分析商务报表使用什么工具?
传统的BI分析商务报表存在的问题 随着数字化转型的深入推进,企业面临着海量数据的挑战和机遇。数据是企业的重要资产,能够帮助企业洞察市场动态、优化业务流程、提升客户满意度、创造竞争优势。然而,传统的BI(商业智能࿰…...

nginx文件配置
在部署前后端分离项目时,当前端和后端不在一个服务器上时,需要在前端服务器上下载nginx并配置 #hkdp-front-test 前端服务器 xxx.xxx.x.69 前端项目端口号9528,监听文件夹 /home/apps/vue/hkdp-manager 配置如下 server{ …...

视频云存储/安防监控EasyCVR视频汇聚平台如何通过角色权限自行分配功能模块?
视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。音视频流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、…...

小程序定位到 胶囊的三个点大概中间
话不多说,先上效果图 这个功能实现思路: 首先先拿到这一张整图(快捷,精确)然后获取整个导航栏高度(自定义导航栏,非自定义导航栏忽略这一步)获取三个点的做偏移量,把高度和偏移量给到一个定位到盒子,这个盒子里就放这个图片&…...

Maven详解
文章目录 一、引言1.1 为什么需要 Maven?1.2 Maven 解决了哪些问题?1.2.1 添加第三方jar包1.2.2 jar包之间的依赖关系1.2.3 处理jar包之间的冲突1.2.4 获取第三方jar包1.2.5 将项目拆分成多个工程模块1.2.6 实现项目的分布式部署 二、介绍三、Maven 的特…...

音视频 ffplay命令-高级选项
选项说明-stats打印多个回放统计信息,包括显示流持续时间,编解码器参数,流中的当前位置,以及音频/视频同步差值。默认情况下处于启用状态,要显式禁用它则需要指定-nostats-fast非标准化规范的多媒体兼容优化-genpts生成…...

[管理与领导-44]:IT基层管理者 - 个人管理 - 从掌握管理知识开始入门:管理的常识和基础
目录 前言:管理框架 一、什么是管理 1.1 以终为始 1.2、资源的优化配置(人财物、权力、时间等资源) 1.2.1 资源的优化配置的步骤 1.2.2 管理者拥有的资源 1.2.3 管理者的权力资源 1.3 分而治之 1.3.1 分目标:细化和分解目…...

c#两个数进行交换
1.使用中间变量的形式 private static void Main(string[] args){int a110;int a220;ChangeNumber(ref a1,ref a2)onsole.WriteLine($"a1的值{a1},a2的值{a2}");Console.ReadLine();}public static void ChangeNumber(ref int a1, ref int a2){int temp a1;//temp10…...

JVM——类加载与字节码技术—字节码指令
2.字节码指令 2.1 入门 jvm的解释器可以识别平台无关的字节码指令,解释为机器码执行。 2a b7 00 01 b1 this . init() return 准备了System.out对象,准备了参数“hello world”,准备了对象的方法println(String)Vÿ…...

同步与互斥——相互合作,相互制约
选择题:互斥机制,信号量解决互斥同步 大题:PV操作处理进程的同步与互斥 目的:解决临界区资源使用问题 一、临界资源 一次仅允许一个进程使用的资源 二、同步与互斥 同步:AB相互合作,A放B取,…...

7个改变玩法规则的ChatGPT应用场景
ChatGPT因各种原因受到了广泛关注:ChatGPT可以充当各种改善生活改进工作的小助手,如内容写手、客户支持、语言翻译、编码专家等等。只需在你的聊天内容中添加适当的提示,人工智能将为你提供各项支持。[1] 1.ChatGPT作为内容写手 通过AI的帮助…...