当前位置: 首页 > news >正文

专注苏州网站优化/网站seo排名优化

专注苏州网站优化,网站seo排名优化,政府网站建设困难,怎么用dw做动态网站数组和列表的基本知识及 LINQ 查询 一、基本知识二、引用命名空间声明三、数组3.1、一维数组3.2、二维数组3.3、不规则数组 Jagged Array 四、列表 List4.1、一维列表4.2、二维列表 五、数组和列表使用 LINQ的操作和运算5.1、一维 LIST 删除所有含 double.NaN 的行5.2、一维 LI…

数组和列表的基本知识及 LINQ 查询

  • 一、基本知识
  • 二、引用命名空间声明
  • 三、数组
    • 3.1、一维数组
    • 3.2、二维数组
    • 3.3、不规则数组 Jagged Array
  • 四、列表 List
    • 4.1、一维列表
    • 4.2、二维列表
  • 五、数组和列表使用 LINQ的操作和运算
    • 5.1、一维 LIST 删除所有含 double.NaN 的行
    • 5.2、一维 LIST 删除所有含指定数据的行
    • 5.3、一维 LIST 获得非重复的数列
      • 5.3.1、使用 LINQ 的 Distinct 方法
      • 5.3.2、使用 HashSet 方法
    • 5.4、二维 LIST 的声明、初始化和访问
    • 5.5、二维 LIST 使用 LINQ 筛选掉包含 double.NaN 的行及空行
    • 5.6、二维 list<list<T>> 删除 某列值相同的行
      • 5.6.1、保留第一列数据相同的首行的 LIST
      • 5.6.2、保留第一列数据相同的最后一行的 LIST
      • 5.6.3、使用LINQ去重,保留第一列数据相同的首行的 LIST
      • 5.6.4、使用LINQ去重,移除 LIST 第一列所有数据相同的行
  • 六、二维 LIST 和二维数组相互转换
    • 6.1、二维数组 int[,] 与 交错数组 int[][] 的区别
    • 6.2、二维 LIST 转换为 交错数组
    • 6.3、二维 LIST 转换为二维数组
      • 6.3.1、直接转换
      • 6.3.2、使用交错数组作为转换过程
      • 6.3.3、使用 List<数组>作为转换过程
    • 6.4、使用 LINQ,简洁地将二维数组 T[,] 转换为二维 List<List<T>>
  • 七、字符串分割成 List<T>
      • 7.1、字符串分割成 List<字符串>
      • 7.2、字符串分割为 List<int> 或 T 为其他数值类型

一、基本知识

数组和列表是 C# 操作计算数据的基础,配合 LINQ 查询可以实现代码的简洁访问。
LINQ 语言集成查询(Language Integrated Query)是.NET框架的扩展,一系列直接将查询功能集成到 C# 语言的技术统称,是一种使用类似 SQL 语句操作多种数据源的功能。List 类是 ArrayList 类的泛型等效类。数组可以是多维数据。

二、引用命名空间声明

using System;
using System.Linq;
using System.Collections.Generic;

三、数组

3.1、一维数组

double[] OneDimensionalArray = { 1.0, 2.0, double.NaN };

3.2、二维数组

double[,] TwoDimensionalArray = {{ 1.0, 2.0, double.NaN },{ 3.0, 4.0, 5.0 },{ double.NaN, 6.0, 7.0 }}; 

3.3、不规则数组 Jagged Array

也叫交错数组。不同长度的行,可以使用 Jagged Array。使用Jagged Array时,每行的长度可以不同,这在某些情况下比使用List<List>更灵活。选择哪种方式取决于你的具体需求,比如是否需要动态改变行的长度。

int[][] jaggedArray = new int[3][]; // 声明一个三行的数组,每行的长度可以根据需要进行定义和修改。
jaggedArray[0] = new int[] { 1, 2 }; // 第一行有两个元素
jaggedArray[1] = new int[] { 3, 4, 5 }; // 第二行有三个元素
jaggedArray[2] = new int[] { 6 }; // 第三行有一个元素

四、列表 List

4.1、一维列表

List<double> OneDimensionalList = new List<double> { 1.8, 2.9, 3.7, 4.5 , double.NaN };
List<int> OneDimensionalList = new List<int> { 1, 2, 3, 4, 5 };
List<string> OneDimensionalList = new List<string> { "Alice", "Bob", "Charlie" };
List<object> OneDimensionalList = new List<object> { 1, "Hello", 3.14 };

4.2、二维列表

严格不叫二维,但可以等效数组一样操作,姑且这么称呼。

List<List<int>> TwoDimensionalList = new List<List<int>>() {new List<int> { 1, 2, 3 },new List<int> { 4, 5, 6 },new List<int> { 7, 8, 9 },
};List<List<int>> TwoDimensionalList = new List<List<int>>();
TwoDimensionalList.Add(new List<int> { 1, 2, 3 });// 添加行
TwoDimensionalList.Add(new List<int> { 4, 5, 6 });
TwoDimensionalList.Add(new List<int> { 7, 8, 9 });

五、数组和列表使用 LINQ的操作和运算

5.1、一维 LIST 删除所有含 double.NaN 的行

List<double> OneDimensionalList = new List<double> { 1.8, 2.9, 3.7, 4.5 , double.NaN, 168 };
OneDimensionalList.RemoveAll(n => double.IsNaN(n));

5.2、一维 LIST 删除所有含指定数据的行

List<string> OneDimensionalList = new List<string> { 
"Alice TWO Y", 
"Bob WO", 
"Charlie who Y"
"Hi LIST"
};
foreach (string row in OneDimensionalList)
{string[] SplitString = row.Split(' ');//行数据分裂if (SplitString[2] == "Y")//第3个字符等于Y的{OneDimensionalList.RemoveAll(x => x == row);//删除第3列等于字符Y的行}
}// 在指定位置插入元素(例如,在索引为2的位置插入7)OneDimensionalList.Insert(2, 7);// 移除指定值的第一个匹配项(如果有的话)
OneDimensionalList.Remove(7); // 如果7存在,则移除它
OneDimensionalList.RemoveAt(0); // 移除索引为0的元素,即原本的1
OneDimensionalList.Clear(); // 清空列表中的所有元素
bool containsThree = OneDimensionalList.Contains(3); //检查元素是否存在于列表中,如果3存在,返回true,否则返回false
int count =  OneDimensionalList.Count; // 获取列表中的元素数量

5.3、一维 LIST 获得非重复的数列

5.3.1、使用 LINQ 的 Distinct 方法

List<string> OneDimensionalList = new List<string> { 
"Alice TWO Y", 
"Bob WO", 
"Charlie who Y"
"Hi LIST"
"Charlie who Y"
};
OneDimensionalList = OneDimensionalList.Distinct().ToList();//返回非重复的数列
OneDimensionalList.Sort();//排序

5.3.2、使用 HashSet 方法

List<string> OneDimensionalList = new List<string> { 
"Alice TWO Y", 
"Bob WO", 
"Charlie who Y"
"Hi LIST"
"Charlie who Y"
};
HashSet<string> hs = new HashSet<string>(OneDimensionalList); //HashSet存储一组不重复的元素
OneDimensionalList = hs.ToList(); 
OneDimensionalList.Sort();//排序

5.4、二维 LIST 的声明、初始化和访问

//声明新的二维列表
List<List<int>> twoDimensionalList = new List<List<int>>();//初始化二维列表 List ,添加 3 行 4 列
twoDimensionalList.Add(new List<int> { 1, 2, 3, 4 });//添加一维 List 元素
twoDimensionalList.Add(new List<int> { 5, 6, 7, 8 });
twoDimensionalList.Add(new List<int> { 9, 10, 11, 12 });// 获取二维列表行数
int rowCount = twoDimensionalList.Count;// 获取二维列表列数
int columnCount = twoDimensionalList.Count == 0 ? 0 : twoDimensionalList[0].Count;
int cols = twoDimensionalList.Select(row => row.Count).Max(); // 假设所有行长度相同,如果不是,需要处理不一致的情况//简单访问二维 List 元素或值
int element = twoDimensionalList[0][1]; // 获取第一行、第二列元素的值(行索引为 0,列索引为 1),值为 2
Console.WriteLine(element);
twoDimensionalList[1][2] = 5; // 将第二行第三列的元素修改为5//遍历二维列表,控制台输出
foreach (List<int> row in twoDimensionalList)
{foreach (int item in row){Console.Write(item + " ");//控制台调试显示数据}Console.WriteLine();
}foreach (var row in twoDList)
{foreach (var item in row){Console.Write(item + " ");}Console.WriteLine(); // 换行,用于分隔各行
}//遍历二维列表,修改数据,控制台输出,
for (int i = 0; i < rowCount; i++)
{for (int j = 0; j < columnCount; j++){twoDimensionalList[i][j] += 1;//修改数据,二维数据每个数加 1}
}//二维数组或 LIST 控制台显示,采用 Join 输出行数据
foreach (var row in TwoDimensionalArray)
{Console.WriteLine(string.Join(", ", row));
}foreach (var row in TwoDimensionalList)
{Console.WriteLine(string.Join(", ", row));
}//删除列表行,索引默认从零开始
twoDimensionalList.RemoveAt(2);//删除索引 2 的行数据//删除集合中一定范围内的元素,索引默认从零开始
twoDimensionalList.RemoveRange(0, 2);//从索引 0 开始,删除 2 行数据//在列表索引前插入元素(在第二行之前插入)
twoDimensionalList.Insert(1, new List<int> { 15, 16, 17, 18 });//在特定位置插入新行,初始化为 0(在第一行之前插入)
twoDList.Insert(0, new List<int>(Enumerable.Repeat(0, cols)));//初始化一个具有特定大小和内容的二维List
int rows = 3;
int cols = 4;
List<List<int>> twoDList = new List<List<int>>();
for (int i = 0; i < rows; i++)
{twoDList.Add(new List<int>(Enumerable.Repeat(0, cols))); // 添加一个新行,初始化为0
}

5.5、二维 LIST 使用 LINQ 筛选掉包含 double.NaN 的行及空行

 List<List<double>> TwoDimensionalList = new List<List<double>>(){new List<double> {  1.8, 2.9, 3.7, 4.5, 9.9, 168 },new List<double> {  1.8, 2.9, 3.7, 4.5, double.NaN, 168 },new List<double> { }, // 空行new List<double> {  2.8, 3.9, 4.7, 5.5, double.NaN, 668, },new List<double> {  1.8, 2.9, 3.7, 4.5, 9.9, 168 }};TwoDimensionalList = TwoDimensionalList.Where(row => !row.Contains(double.NaN) && row.Any()).ToList();//删除存在 double.NaN 的行及空行// TwoDimensionalList = TwoDimensionalList.Where(row => row.Any()).ToList();//删除空行
// TwoDimensionalList = TwoDimensionalList.Where(row => !row.Contains(double.NaN)).ToList();//删除存在 double.NaN 的行foreach (var row in TwoDimensionalList) { Console.WriteLine(string.Join(" ", row)); }//var filteredData = twoDimensionalList.Where(row => !row.Contains(double.NaN)).ToArray();

5.6、二维 list<list> 删除 某列值相同的行

5.6.1、保留第一列数据相同的首行的 LIST

         List<List<int>> list1 = new List<List<int>>{new List<int> { 1, 2 }, //第一列数据相同的行new List<int> { 3, 4 },new List<int> { 1, 5 }, //第一列数据相同的行new List<int> { 6, 7 },new List<int> { 1, 6 }  //第一列数据相同的行};// 检查第一列(索引为0)int columnIndex = 0;var seen = new HashSet<int>(); // 用于跟踪已经看到的值for (int i = 0; i < list1.Count; i++) // 从 0 索引开始遍历行{if (!seen.Add(list1[i][columnIndex])) // 如果值已存在,则删除当前行{list1.RemoveAt(i); // 如果值已存在,则删除当前行}}foreach (var row in list1){Console.WriteLine(string.Join(", ", row));}Console.WriteLine();

结果:
1, 2
3, 4
6, 7

5.6.2、保留第一列数据相同的最后一行的 LIST

            List<List<int>> list2 = new List<List<int>>{new List<int> { 1, 2 }, //第一列数据相同的行new List<int> { 3, 4 },new List<int> { 1, 5 }, //第一列数据相同的行new List<int> { 6, 7 },new List<int> { 1, 6 }  //第一列数据相同的行};int columnIndex = 0;// 检查第一列(索引为0)var uniqueValues = new HashSet<int>();for (int i = list2.Count - 1; i >= 0; i--) // 从后往前遍历以便安全删除元素{if (!uniqueValues.Add(list2[i][columnIndex])){list2.RemoveAt(i); // 如果值已存在,则删除当前行}}foreach (var row in list2){Console.WriteLine(string.Join(", ", row));}Console.WriteLine(); 

结果:
3, 4
6, 7
1, 6

5.6.3、使用LINQ去重,保留第一列数据相同的首行的 LIST

        List<List<int>> list3 = new List<List<int>>{new List<int> { 1, 2 }, //第一列数据相同的行new List<int> { 3, 4 },new List<int> { 1, 5 }, //第一列数据相同的行new List<int> { 6, 7 },new List<int> { 1, 6 }  //第一列数据相同的行};int columnIndex = 0;// 检查第一列(索引为0)list3 = list3.GroupBy(x => x[columnIndex]).Select(g => g.First()).ToList(); // 去重并保留第一个遇到的元素。foreach (var row in list3){Console.WriteLine(string.Join(", ", row)); // 输出结果。}

结果:
1, 2
3, 4
6, 7

        List<List<int>> list = new List<List<int>>(){new List<int> { 1, 2 }, //第一列数据相同的行new List<int> { 3, 4 },new List<int> { 1, 5 }, //第一列数据相同的行new List<int> { 6, 7 },new List<int> { 1, 6 },  //第一列数据相同的行new List<int> { 1, 2, 3 },//第一列数据相同的行new List<int> { 4, 5, 6 },new List<int> { 1, 7, 8 }, //第一列数据相同的行new List<int> { 9, 10, 11 }};int columnIndex = 0;// 检查第一列(索引为0)// 只保留每组中的第一个元素(如果有重复值的话)list = list.Where((item, index) => index == list.FindIndex(x => x[columnIndex] == item[columnIndex])) .ToList();// 打印结果以验证foreach (var sublist in list){Console.WriteLine(string.Join(", ", sublist));}return;

结果:
1, 2
3, 4
6, 7
4, 5, 6
9, 10, 11

5.6.4、使用LINQ去重,移除 LIST 第一列所有数据相同的行

            List<List<int>> listOfLists = new List<List<int>>(){new List<int> { 1, 2, 3 },new List<int> { 4, 5, 6 },new List<int> { 1, 7, 8 }, // 这里有两行包含1new List<int> { 9, 10, 11 }};// 需要检查的列索引(例如第0列)int columnIndex = 0;// 获取该列的所有值及其出现的次数var duplicates = listOfLists.GroupBy(list => list[columnIndex]).Where(group => group.Count() > 1).Select(group => group.Key).ToList();// 移除所有包含重复值的行listOfLists.RemoveAll(list => duplicates.Contains(list[columnIndex]));// 打印结果以验证foreach (var list in listOfLists){Console.WriteLine(string.Join(", ", list));}

结果:
4, 5, 6
9, 10, 11

六、二维 LIST 和二维数组相互转换

6.1、二维数组 int[,] 与 交错数组 int[][] 的区别

二维 LIST 转换为二维数组 double[][] arrayOfArrays,严格说不是二维数组。
关于 double[][] 是交错数组,它其实是一个 double[] 里嵌套着double[],可以理解为 (double[])[]。

对于int[,],数组的行数和列数如下:

int[,] a=new int[2,3];
int row = a.GetLength(0);  //第一维的长度(即行数)  row=2;
int col = a.GetLength(1); //第二维的长度(即列数)col=3;
int length = a.Length;//二维数组的总长度  lenth=6;

对于交错数组 int[][]

int[][] a = { new int[] { 1, 5 }, new int[] { 7, 3 }, new int[] { 3, 5 } };//accounts.Length表示数组a中一维数组的个数3for (int i = 0; i < accounts.Length; i++){int col = accounts[i].Length;//表示一维数组中其中一维数组的个数,看上面数组a,那么这里数组的个数就为2int sum = 0;for (int j = 0; j < col; j++){sum = sum + accounts[i][j];}         }

6.2、二维 LIST 转换为 交错数组

List<List<double>> TwoDimensionalList = new List<List<double>>
{new List<double> { 1, 2, 3 },new List<double> { 4, 5, 6 },new List<double> { 7, 8, 9 }
};
//此二维数组不是double[,] arrayOfArrays 数组       
double[][] arrayOfArrays = TwoDimensionalList.Select(row => row.ToArray()).ToArray();

6.3、二维 LIST 转换为二维数组

6.3.1、直接转换

List<List<string>> lists = new List<List<string>>()
{new List<string>() { "C", "C++" },new List<string>() { "Java", "Kotlin" }
};string[,] arrays = new string[lists.Count, lists[0].Count];
for (int i = 0; i < lists.Count; i++)
{for (int j = 0; j < lists[i].Count; j++){arrays[i, j] = lists[i][j];}
}//控制台输出二维数组结果
foreach (var array in arrays)
{Console.WriteLine(String.Join(", ", array));
}//控制台输出结果(取数组的行列大小)
for (int i = 0; i < arrays.GetLength(0); i++)
{for (int j = 0; j < arrays.GetLength(1); j++){Console.Write(arrays[i, j] + " ");}Console.WriteLine();
}//控制台输出结果(取lists的行列大小)
int rows = lists.Count;
int cols = lists[0].Count;
for (int i = 0; i < rows; i++)
{for (int j = 0; j < cols; j++){Console.Write(arrays[i, j] + " ");}Console.WriteLine();
}

6.3.2、使用交错数组作为转换过程

List<List<double>> TwoDimensionalList = new List<List<double>>
{
new List<double> { 1, 2, 3 },
new List<double> { 4, 5, 6 },
new List<double> { 7, 8, 9 }
};
//先转换为行列规则的交错数组形式 double[][] arrayOfArrays
double[][] arrayOfArrays = TwoDimensionalList.Select(row => row.ToArray()).ToArray();int rows = arrayOfArrays.Length;//交错数组行数
int cols = arrayOfArrays.Max(array => array.Length);//交错数组列数
double[,] multiDimArray=new double[rows, cols];//声明二维数组
//转换为二维数组
for (int i = 0; i < rows; i++)
{for (int j = 0; j < cols; j++){multiDimArray[i, j] = arrayOfArrays[i][j]; // 直接赋值}
}
//控制台输出结果
for (int i = 0; i < multiDimArray.GetLength(0); i++)
{for (int j = 0; j < multiDimArray.GetLength(1); j++){Console.Write(multiDimArray[i, j] + " ");}Console.WriteLine();
}

6.3.3、使用 List<数组>作为转换过程

方法1

 List<List<int>> TwoDimensionalList = new List<List<int>>() {new List<int> { 1, 2, 3 },new List<int> { 4, 5, 6 },new List<int> { 7, 8, 9 }};
// 将List<List<int>>转换为List<int[]>
var listOfArrays = TwoDimensionalList.Select(row => row.ToArray()).ToList();int[,] array = new int[listOfArrays.Count, listOfArrays[0].Length];
for (int i = 0; i < listOfArrays.Count; i++)
{for (int j = 0; j < listOfArrays[i].Length; j++){array[i, j] = listOfArrays[i][j];}
}// 输出结果验证
for (int i = 0; i < array.GetLength(0); i++)
{for (int j = 0; j < array.GetLength(1); j++){Console.Write(array[i, j] + " ");}Console.WriteLine();
}

方法2

        // 示例二维ListList<List<int>> listOfLists = new List<List<int>>{new List<int> { 1, 2, 3 },new List<int> { 4, 5, 6 },new List<int> { 7, 8, 9 }};// 将List<List<int>>转换为List<int[]>List<int[]> listOfArrays = new List<int[]>();foreach (var list in listOfLists){listOfArrays.Add(list.ToArray());}// 然后将List<int[]>转换为二维数组int[,]int[,] array = new int[listOfArrays.Count, listOfArrays[0].Length];for (int i = 0; i < listOfArrays.Count; i++){for (int j = 0; j < listOfArrays[i].Length; j++){array[i, j] = listOfArrays[i][j];}}// 输出结果验证for (int i = 0; i < array.GetLength(0); i++){for (int j = 0; j < array.GetLength(1); j++){Console.Write(array[i, j] + " ");}Console.WriteLine();}

6.4、使用 LINQ,简洁地将二维数组 T[,] 转换为二维 List<List>

int[,] TwoDimensionalArray = { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 } };
int rowCount = TwoDimensionalArray.GetLength(0);
int colCount = TwoDimensionalArray.GetLength(1);List<List<int>> TwoDimensionalList = Enumerable.Range(0, rowCount).Select(i => Enumerable.Range(0, colCount).Select(j => TwoDimensionalArray[i, j]).ToList()).ToList();

七、字符串分割成 List

7.1、字符串分割成 List<字符串>

string input = "apple,banana,cherry";
List<string> result = new List<string>(input.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries));

7.2、字符串分割为 List 或 T 为其他数值类型

string input = "1,2,3,4,5";
List<int> result = input.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToList();foreach (var item in result)
{Console.WriteLine(item);
}

相关文章:

C# 数组和列表的基本知识及 LINQ 查询

数组和列表的基本知识及 LINQ 查询 一、基本知识二、引用命名空间声明三、数组3.1、一维数组3.2、二维数组3.3、不规则数组 Jagged Array 四、列表 List4.1、一维列表4.2、二维列表 五、数组和列表使用 LINQ的操作和运算5.1、一维 LIST 删除所有含 double.NaN 的行5.2、一维 LI…...

大厂面试题备份20250201

20250201 面试策略 如果三面往后遇到传说中让人忍受不了的业余面试官&#xff0c;就舔着苟过去&#xff0c;入职大概率见不着他&#xff0c;但一二面遇到&#xff0c;反问环节就主动说不够match&#xff0c;让释放流程。 机器/深度学习 百面机器学习 5.4 通用CS 计算机网…...

w191教师工作量管理系统的设计与实现

&#x1f64a;作者简介&#xff1a;多年一线开发工作经验&#xff0c;原创团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339;赠送计算机毕业设计600个选题excel文…...

Git 版本控制:基础介绍与常用操作

目录 Git 的基本概念 Git 安装与配置 Git 常用命令与操作 1. 初始化本地仓库 2. 版本控制工作流程 3. 分支管理 4. 解决冲突 5. 回退和撤销 6. 查看提交日志 前言 在软件开发过程中&#xff0c;开发者常常需要在现有程序的基础上进行修改和扩展。但如果不加以管理&am…...

讲清逻辑回归算法,剖析其作为广义线性模型的原因

1、逻辑回归算法介绍 逻辑回归(Logistic Regression)是一种广义线性回归分析模型。虽然名字里带有“回归”两字&#xff0c;但其实是分类模型&#xff0c;常用于二分类。既然逻辑回归模型是分类模型&#xff0c;为什么名字里会含有“回归”二字呢&#xff1f;这是因为其算法原…...

数据结构(1)——算法时间复杂度与空间复杂度

目录 前言 一、算法 1.1算法是什么&#xff1f; 1.2算法的特性 1.有穷性 2.确定性 3.可行性 4.输入 5.输出 二、算法效率 2.1衡量算法效率 1、事后统计方法 2、事前分析估计方法 2.2算法的复杂度 2.3时间复杂度 2.3.1定义 2.3.2大O渐进表示法 2.3.3常见时间复…...

K8s运维管理平台 - xkube体验:功能较多

目录 简介Lic安装1、需要手动安装MySQL&#xff0c;**建库**2、启动命令3、[ERROR] GetNodeMetric Fail:the server is currently unable to handle the request (get nodes.metrics.k8s.io qfusion-1) 使用总结优点优化 补充1&#xff1a;layui、layuimini和beego的详细介绍1.…...

spring源码阅读系列文章目录

对于spring认识首先要了解 spring相关概念术语&#xff0c;然后是如下的几句话牢记并反射出来&#xff1a; Bean怎么来的&#xff0c;通过BeanDefinitionBeanDefinition有Spring框架内置的&#xff0c;有手动定义或者自动配置扫描出来的&#xff08;写个Demo工程&#xff09;B…...

快速提升网站收录:利用网站新闻发布功能

本文转自&#xff1a;百万收录网 原文链接&#xff1a;https://www.baiwanshoulu.com/63.html 利用网站新闻发布功能快速提升网站收录是一个有效的策略。以下是一些具体的建议&#xff0c;帮助你更好地利用这一功能&#xff1a; 一、保持新闻更新频率 搜索引擎尤其重视网站的…...

【14】WLC3504 HA配置实例

1.概述 本文档使用 Cisco WLC 3504 实现无线控制器的高可用性。这里所指的HA是指WLC设备box-to-box的冗余。换句话说,即1:1的设备冗余,其中一个 WLC 将处于Active活动状态,而第二个 WLC 将处于Standby-hot热待机状态,通过RP冗余端口持续监控活动 WLC 的运行状况。两个 WLC…...

什么是LPU?会打破全球算力市场格局吗?

在生成式AI向垂直领域纵深发展的关键节点&#xff0c;一场静默的芯片革命正在改写算力规则。Groq研发的LPU&#xff08;Language Processing Unit&#xff09;凭借其颠覆性架构&#xff0c;不仅突破了传统GPU的性能天花板&#xff0c;更通过与DeepSeek等国产大模型的深度协同&a…...

智慧物业管理系统实现社区管理智能化提升居民生活体验与满意度

内容概要 智慧物业管理系统&#xff0c;顾名思义&#xff0c;是一种将智能化技术融入社区管理的系统&#xff0c;它通过高效的手段帮助物业公司和居民更好地互动与沟通。首先&#xff0c;这个系统整合了在线收费、停车管理等功能&#xff0c;让居民能够方便快捷地完成日常支付…...

Vue3 表单:全面解析与最佳实践

Vue3 表单&#xff1a;全面解析与最佳实践 引言 随着前端技术的发展&#xff0c;Vue.js 已经成为最受欢迎的前端框架之一。Vue3 作为 Vue.js 的最新版本&#xff0c;带来了许多改进和新的特性。其中&#xff0c;表单处理是 Vue 应用中不可或缺的一部分。本文将全面解析 Vue3 …...

MySQl的日期时间加

MySQL日期相关_mysql 日期加减-CSDN博客MySQL日期相关_mysql 日期加减-CSDN博客 raise notice 查询目标 site:% model:% date:% target:%,t_shipment_date.site,t_shipment_date.model,t_shipment_date.plant_date,v_date_shipment_qty_target;...

实战:如何利用网站日志诊断并解决收录问题?

本文转自&#xff1a;百万收录网 原文链接&#xff1a;https://www.baiwanshoulu.com/50.html 利用网站日志诊断并解决收录问题是一种非常有效的方法。以下是一个实战指南&#xff0c;帮助你如何利用网站日志来诊断并解决网站的收录问题&#xff1a; 一、获取并分析网站日志 …...

每日一题——有效括号序列

有效括号序列 题目描述数据范围&#xff1a;复杂度要求&#xff1a; 示例题解代码实现代码解析1. 定义栈和栈操作2. 栈的基本操作3. 主函数 isValid4. 返回值 时间和空间复杂度分析 题目描述 给出一个仅包含字符 (, ), {, }, [, ] 的字符串&#xff0c;判断该字符串是否是一个…...

PyTorch数据建模

回归分析 import torch import numpy as np import pandas as pd from torch.utils.data import DataLoader,TensorDataset import time strat = time.perf_counter()...

OpenAI 实战进阶教程 - 第二节:生成与解析结构化数据:从文本到表格

目标 学习如何使用 OpenAI API 生成结构化数据&#xff08;如 JSON、CSV 格式&#xff09;。掌握解析数据并导出表格文件的技巧&#xff0c;以便适用于不同实际场景。 场景背景 假设你是一名开发人员&#xff0c;需要快速生成一批产品信息列表&#xff08;如名称、价格、描述…...

二叉树--链式存储

1我们之前学了二叉树的顺序存储&#xff08;这种顺序存储的二叉树被称为堆&#xff09;&#xff0c;我们今天来学习一下二叉树的链式存储&#xff1a; 我们使用链表来表示一颗二叉树&#xff1a; ⽤链表来表⽰⼀棵⼆叉树&#xff0c;即⽤链来指⽰元素的逻辑关系。通常的⽅法是…...

Windows 中的 WSL:开启你的 Linux 之旅

今天在安装windows上安装Docker Desktop的时候&#xff0c;遇到了WSL。下面咱们就学习下。 欢迎来到涛涛聊AI 一、什么是 WSL&#xff1f; WSL&#xff0c;全称为 Windows Subsystem for Linux&#xff0c;是微软为 Windows 系统开发的一个兼容层&#xff0c;它允许用户在 Win…...

2.3学习总结

今天做了下上次测试没做出来的题目&#xff0c;作业中做了一题&#xff0c;看了下二叉树&#xff08;一脸懵B&#xff09; P2240&#xff1a;部分背包问题 先求每堆金币的性价比&#xff08;价值除以重量&#xff09;&#xff0c;将这些金币由性价比从高到低排序。 对于排好…...

前端力扣刷题 | 6:hot100之 矩阵

73. 矩阵置零 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 法一&#xff1a; var setZeroes function(matrix) {let setX new Set(); // 用于存储需要置零的行索引let setY new Set(); //…...

docker gitlab arm64 版本安装部署

前言&#xff1a; 使用RK3588 部署gitlab 平台作为个人或小型团队办公代码版本使用 1. docker 安装 sudo apt install docker* 2. 获取arm版本的gitlab GitHub - zengxs/gitlab-arm64: GitLab docker image (CE & EE) for arm64 git clone https://github.com/zengxs…...

路径规划之启发式算法之二十九:鸽群算法(Pigeon-inspired Optimization, PIO)

鸽群算法(Pigeon-inspired Optimization, PIO)是一种基于自然界中鸽子群体行为的智能优化算法,由Duan等人于2014年提出。该算法模拟了鸽子在飞行过程中利用地标、太阳和磁场等导航机制的行为,具有简单、高效和易于实现的特点,适用于解决连续优化问题。 更多的仿生群体算法…...

【AudioClassificationModelZoo-Pytorch】基于Pytorch的声音事件检测分类系统

源码&#xff1a;https://github.com/Shybert-AI/AudioClassificationModelZoo-Pytorch 模型测试表 模型网络结构batch_sizeFLOPs(G)Params(M)特征提取方式数据集类别数量模型验证集性能EcapaTdnn1280.486.1melUrbanSound8K10accuracy0.974, precision0.972 recall0.967, F1-s…...

一文讲解Java中的ArrayList和LinkedList

ArrayList和LinkedList有什么区别&#xff1f; ArrayList 是基于数组实现的&#xff0c;LinkedList 是基于链表实现的。 二者用途有什么不同&#xff1f; 多数情况下&#xff0c;ArrayList更利于查找&#xff0c;LinkedList更利于增删 由于 ArrayList 是基于数组实现的&#…...

CNN的各种知识点(五):平均精度均值(mean Average Precision, mAP)

平均精度均值&#xff08;mean Average Precision, mAP&#xff09; 1. 平均精度均值&#xff08;mean Average Precision, mAP&#xff09;概念&#xff1a;计算步骤&#xff1a;具体例子&#xff1a;重要说明&#xff1a;典型值范围&#xff1a; 总结&#xff1a; 1. 平均精度…...

【优先算法】专题——前缀和

目录 一、【模版】前缀和 参考代码&#xff1a; 二、【模版】 二维前缀和 参考代码&#xff1a; 三、寻找数组的中心下标 参考代码&#xff1a; 四、除自身以外数组的乘积 参考代码&#xff1a; 五、和为K的子数组 参考代码&#xff1a; 六、和可被K整除的子数组 参…...

gitea - fatal: Authentication failed

文章目录 gitea - fatal: Authentication failed概述run_gitea_on_my_pkm.bat 笔记删除windows凭证管理器中对应的url认证凭证启动gitea服务端的命令行正常用 TortoiseGit 提交代码备注END gitea - fatal: Authentication failed 概述 本地的git归档服务端使用gitea. 原来的用…...

基于Spring Security 6的OAuth2 系列之八 - 授权服务器--Spring Authrization Server的基本原理

之所以想写这一系列&#xff0c;是因为之前工作过程中使用Spring Security OAuth2搭建了网关和授权服务器&#xff0c;但当时基于spring-boot 2.3.x&#xff0c;其默认的Spring Security是5.3.x。之后新项目升级到了spring-boot 3.3.0&#xff0c;结果一看Spring Security也升级…...