C#02

坐标转换C#(Gcj02、wgs84、bd09互转) using System; using System.Collections.Generic; using System.Text; namespace GMap.NET.Util { public static class ConvertGPS { private static double pi = 3.1415926535897932384626; private static double... 阅读详情

01:在C#中,string str = null 与 string str = “” 请尽量使用文字或图
象说明其中的区别。
string str = null 没有创建内存空间,str中存放的是空引用指针;

string str = "" 创建了内存空间,str中存放的是指向堆中的指针。
简单地说:

string str ="";

给你一张白纸;

string str = null;

连白纸也没有。
02:简述类和结构的相同点和不同点。并用代码举例。

结构和类基本相同,可以,不同点有:

(1)结构可以不用new,直接定义结构的对象即可.

(2)声明结构对象后,必须给结构的成员赋值

(3)结构中不能封装属性

 //类
static void Main(string[] args)
        {
            //使用类可以封装属性
            Student stu = new Student();
            //使用类不给成员赋初值也不会报错
            Console.WriteLine(stu.Age);
        }

 public class Student
    {
        public int Age { get; set; }
    }

//结构
 static void Main(string[] args)
        {
            //使用结构可以不用new
            Student stu;
            //结构必须给成员赋初始值
            stu.Age = 10;
            Console.WriteLine(stu.Age);
        }

public struct Student
    {
        public int Age;
    }

03:什么是拆箱和装箱?举例说明

static void Main(string[] args)
        {
            //装箱
            int i = 123;
            object o = i;
            i = 456;
            Console.WriteLine("值类型的值为"+i);
            Console.WriteLine("引用类型的值为" + o);


            //拆箱
            int k = 123;
            object b = k;
            int j = 456;
            Console.WriteLine("值类型的值为" + j);
            Console.WriteLine("引用类型的值为" + b);
        }


04:编程实现一个冒泡排序

static void Main(string[] args)
        {
            //定义数组
            int[] array = new int[6]{ 9, 5, 4, 3, 1, 10 };
            //冒泡排序
            for (int i = 0; i < array.Length-1; i++)
            {
                for (int j = i+1; j < array.Length; j++)
                {
                    if (array[i] > array[j]) {
                        int temp = array[i];
                        array[i] = array[j];
                        array[j] = temp;
                    }
                }
            }
            //遍历排序后的数组
            for (int i = 0; i < array.Length; i++)
            {
                Console.WriteLine(array[i]);
            }
        }


05:编程实现一个递归方法

public int Function(int num)
{
	if (num == 1)
		return num;
	return Function(num - 1) * num;
}


06:说说目前学的集合有哪些?,每一种集合的特点以及使用场景

(1) ArrayList:

ArrayList可以动态维护,容量可根据程序的扩展而重新分配和调整,因此定义时可指定容量也可以不指定。

ArrayList更适合大量的存取和删除操作。

(2)HashTable

HashTable是C#提供的一种称为哈希表的数据结构,存储方式通过键(Key)和值(Value)来组织的,它的每一个元素都是一个键/值对.

HashTable更适合频繁查询的操作。

(3)List<T>泛型集合

List<T>的<T>可以对集合中的元素类型进行约束,T表明集合中管理的元素类型。

List<T>的使用方法和ArrayList基本一致,区别在于两点,一、List对存储的元素有类型约束。二、添加/读取值无须拆箱和装箱

(4)Dictionary<K,V>泛型集合

Dictionary<K,V>和HashTable类似,存储数据同样通过Key/Value对元素进行保存,区别在于Dictionary<K,V>可以对

存储的键值对进行类型约束,<K,V>中K代表Key的类型,V代表Value的类型。

Dictionary<K,V>和HashTable区别同样是两点,一、Dictionary对存储的元素有类型约束。二、添加/读取值无须拆箱和装箱


07:变量被标记为 “const” 和readonly” 有何不同?

静态常量(const)是指编译器在编译时候会对常量进行解析,并将常量的值替换成初始化的那个值。
动态常量(readonly)的值则是在运行的那一刻才获得的,编译器编译期间将其标示为只读常量,而不用常量的值代替,这样动态常量不必在声明的时候就初始化,而可以延迟到构造函数中初始化。


08:“out” 和 “ref” 参数有何不同?用代码举例

 static void Main(string[] args)
        {

            //ref使用前必须给参数赋初值
            int num = 5;
            Show(ref num);

        }

        public static void Show(ref int num) {
            num++;
        }




 static void Main(string[] args)
        { 
            //out需在方法内部给参数赋值,使用前可不赋值
            int num;
            Show(out num);

        }

        public static void Show(out int num) {
            num = 5;
            num++;
        }


09:“StringBuilder” 和 “String” 有何不同?

主要的区别在于 stringbuilder相对于string,效率要高些,string会在每次改变的时候进行内存重新组合,而stringbuilder则不会从新组合,另外stringbuilder有append,insert,replace 等一些方法,用起来比较方便。

String 对象是不可改变的。每次使用 System.String 类中的方法之一或进行运算时(如赋值、拼接等)时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。而 StringBuilder 则不会。在需要对字符串执行重复修改的情况下,与创建新的 String 对象相关的系统开销可能会非常昂贵。如果要修改字符串而不创建新的对象,则可以使用 System.Text.StringBuilder 类。例如,当在一个循环中将许多字符串连接在一起时,使用 StringBuilder 类可以提升性能。

C# 精确转换WGS84、GCJ02、BD09坐标系:实现与优化 这些坐标系之间存在一定的偏差和转换关系,特别是在中国境内,WGS84与GCJ02、BD09之间的坐标存在不同程度的偏移。通过理解这些坐标系之间的偏差以及转换算法,我们可以在实际应用中,尤其是在中国境内的地图和定位服务中,准确处理经纬度数据。在实际开发中,根据不同的需求选择适合的坐标转换算法,并对转换精度进行优化,是确保地理定位准确性和可靠性的关键。WGS84到GCJ02的转换存在一定的数学模型,通常是通过一定的偏移量来实现。中进行这些坐标系的相互转换,并且在高精度要求的场景下,提供相关的转换算法。 阅读详情

相关推荐

C#实现 WGS-84与GCJ-02 经纬度坐标转换

C#-WGS-84转GCJ-02 其他语言一样用 //圆周率 private const double pi = 3.14159265358979324; //克拉索天斯基椭球体参数值 private const double a = 6378245.0; //第一偏心率 private const double ee = 0.00669342162296594323; public static GPSPoint WGS84_to_GCJ02(double wgLat, double wgLon) {

weixin_43151814的博客 247

EVA-02在.NET生态中的集成:C#调用与桌面应用开发

本文介绍了如何在星图GPU平台上自动化部署EVA-02: TEXT RECONSTRUCTION TERMINAL镜像,并将其集成到.NET桌面应用中。通过C#调用其API,开发者可以快速为办公软件或内容管理工具添加高效的图片文字提取功能,例如从发票、截图或文档图片中自动重建并获取结构化文本,从而提升工作效率。

weixin_42594427的博客 158

ArcEngine C# GIS开发入门作业 (一) Ex01,Ex02 ——地图、图层加载及属性访问

AE C# GIS 设计与开发课程分享(一) Ex01,Ex02 所以这学期在想学习的动力下,刚结束了GIS开发与设计课,简单入门了刚学的C#和ArcEngine,想趁热写点东西记录下来。 写这篇文章: 1.第一,是为了纪念一下我Domen的入门IT的人生重大转折点; 2.第二是为了锻炼一下自己写作的能力; 3.还有因为我为了增加印象我重新整理了一下自己作业的代码花了很多时间不想浪费,直接拿出...

Domen Wang的博客 7474

C#实战:如何用5行代码搞定WGS84转GCJ02坐标(附避坑指南)

本文详细介绍了在C#开发中实现WGS84到GCJ02坐标系转换的实战方法。针对GPS设备坐标与国内地图服务不匹配的问题,文章提供了核心算法、精简代码示例,并重点分析了浮点数精度、参数传递等常见陷阱,帮助开发者确保定位应用的准确性。

ppp33的博客 695

C# Modbus通信从入门到精通(23)——Modbus TCP(0x02功能码与C#代码实现)

本文详细介绍了ModbusTCP协议中0x02读输入线圈功能码的原理、发送报文、返回报文,由高级工程师多年经验总结而成,绝对干货!

qq_34059233的博客 1654

C# Modbus通信从入门到精通(4)——Modbus RTU(0x02功能码与C#代码实现)

本文详细介绍了ModbusRTU协议中0x02读输入线圈功能码的原理、发送报文、返回报文,由高级工程师多年经验总结而成,绝对干货!

qq_34059233的博客 2927

EVA-02在.NET生态中的集成:C#调用文本重建服务

本文介绍了如何在星图GPU平台上自动化部署🔴 EVA-02: TEXT RECONSTRUCTION TERMINAL镜像,并实现其在.NET生态中的集成。通过C#调用其文本重建服务,开发者可以便捷地为应用(如企业内部知识库智能问答系统)添加智能摘要、内容理解等能力,提升业务系统的智能化水平。

weixin_42611177的博客 178

C# Modbus通信从入门到精通(14)——Modbus ASCII(0x02功能码与C#代码实现)

本文详细介绍了ModbusASCII协议中0x03读输入线圈功能码的原理、发送报文、返回报文,C#代码实现,由高级工程师多年经验总结而成,绝对干货!

qq_34059233的博客 1157

02 认识C#

本文主要介绍了C#的版本,罗列了C#中的一些基础知识。对C#中的数、控制流和类型转换做了些概述。

puran1218的博客 388

C#实现AT24C02 EEPROM小数存储及源码解析

AT24C02是一款常用的串行EEPROM存储器,它使用I²C总线进行通信,广泛应用于需要非易失性存储的电子系统中。该设备提供了2KB的存储空间,可以存储配置数据、用户信息等,且具有较好的抗干扰性和长期数据保持能力。EEPROM(Electrically Erasable Programmable Read-Only Memory)是一种可以随时擦写的非易失性存储器。存储容量是指EEPROM能够存储数据的总量,通常以位(bit)、字节(Byte)或者千字节(KB)、兆字节(MB)为单位进行度量。

weixin_28746213的博客 1033

禾赛XT16 vs XT32激光雷达实测对比:选16线还是32线?看完这篇不纠结

本文深度评测禾赛XT16与XT32激光雷达的性能差异与应用选择。通过实测数据对比,分析16线与32线激光雷达在点云密度、动态场景适应性及与IMU协同工作等方面的表现,帮助用户根据自动驾驶、机器人等不同应用场景做出最优选型决策。

table的专栏 945

C#—02 变量

常量(Constants)是指在程序中定义的固定不变的值,其值在编译时就确定,并且不能在程序运行时修改。需要注意的是,在进行类型转换时,可能会发生数据丢失或精度损失的情况。因此,在进行类型转换之前,最好确保转换是安全和可靠的,并进行适当的数据验证和处理。字符串型主要用于存储一组连续字符(char),一个完整的字符串对象可以看作是一个 char 类型的数组,既然是数组我们就可以把它当作集合去使用,常量的命名通常使用大写字母,以便与其他变量区分开来,并且常量的值在命名时应该具有描述性,以便于理解其含义。

m0_64778761的博客 1266

高通AI Engine SDK(QNN)使用教程(环境配置、模型转换、量化、推理、分析)

高通AI Engine使用教程

weixin_51031772的博客 1万+

c#读取dwg零件表_DWGdirect_NET_3_02 找了好久才找到的C#读取DWG格式的CAD文件信息方法,采用OpenDWG的 Windows Develop 249万源代码下载- www....

文件名称: DWGdirect_NET_3_02下载 收藏√ [5 4 3 2 1]开发工具: C#文件大小: 9101 KB上传时间: 2013-10-05下载次数: 124详细说明:找了好久才找到的C#读取DWG格式的CAD文件信息方法,采用OpenDWG的DWGdirect_NET_3_02动态库里的方法,可以完美的读到DWG文件的信息-Looking for a long ...

weixin_39672396的博客 1677

qmt量化交易策略小白学习笔记第67期【qmt编程之获取ETF申赎清单】

qmt编程之获取ETF申赎清单

fanglue3705的博客 1773

实用工具系列 - Xshell安装下载与使用

一、介绍 二、下载 三、安装 四、使用

Passerby_Wang的博客 1万+

C#基础02

01:在C#中,string str = null 与 string str = “” 请尽量使用文字或图说明其中的区别 string str=null 把这个引用指向了一个null,没有地址没有值的地方。 string str="" 把这个引用指向了一个地址,地址里面存的是空的字符。 string str=""就相当于一个人考试了,不过是考了0分; 而 string str=null 就...

qq_43227356的博客 166

基于STM32的智能浇花系统毕业设计(全部资料)

摘要:本文设计了一种基于STM32单片机的智能浇花系统,集成了环境温湿度检测、土壤温湿度监测、LCD显示、Wi-Fi联网及手机APP远程控制等功能。系统通过传感器实时采集环境参数,自动控制水泵工作实现智能灌溉,同时支持用户通过手机APP远程监控和调节。论文详细阐述了硬件选型、软件设计及系统测试过程,验证了系统的稳定性和实用性。该设计为家庭园艺提供了智能化解决方案,具有节水高效、操作便捷等特点。关键词:STM32;智能灌溉;远程控制;环境监测;Wi-Fi通信。

3254968421的博客 1195

EVA-02模型.NET平台调用实战:C#集成开源大模型文本服务

本文介绍了如何在星图GPU平台上自动化部署🔴 EVA-02: TEXT RECONSTRUCTION TERMINAL镜像,以快速搭建大模型服务环境。通过该平台,开发者可便捷地获取并运行此镜像,从而在C#/.NET项目中集成EVA-02模型的文本生成能力,实现智能对话、代码生成等应用场景。

weixin_35749440的博客 203

Hermes 教程 03:Skills 系统

摘要:Hermes Skills是一种自我改进机制,可将解决问题的经验保存为可复用技能文档。v0.13.0版本遵循agentskills.io开放标准,与Claude Skills互通。技能创建流程包括发现问题、创建技能文件、加载使用和优化更新四个阶段。系统提供技能检索和自维护机制(Curator),支持技能媒体路由和多种管理命令。内置技能涵盖开发调试、创意头脑风暴等场景,通过积累技能使Hermes更适应用户需求。

程序猿_三产 731

Spec Kit:GitHub 官方推出的规范驱动开发工具包,让 AI 编程真正可控、高效、高质量

先明确“做什么”和“为什么”,再考虑“如何做”。它通过一系列标准化命令(如/specify/plan/implement可验证的功能规格(spec)可执行的技术方案(plan)可追溯的开发任务(tasks)高质量的实现代码(code)最终实现“规范即代码,代码即规范”的闭环。📌项目地址许可证:MIT(完全开源,欢迎贡献)Spec Kit 代表了 GitHub 对AI 原生开发(AI-Native Development)AI 不应替代开发者,而应放大开发者的意图。

lpfasd123的博客 1712

C#基础— 02

一、基本用法 1、Console.ReadLine();等待用户输入一行字符串后按下回车,一次读入一行。 2、Console.ReadKey();等待用户输入一个字符(任意键),一次读入一个字符。常加在程序的结尾处,方便调试的时候,控制台窗口能暂停等待用户输入,而不会一闪而过。 3、C#条件表达式为 条件表达式 ? 分支1 : 分支2 。条件表达式为真时,输出分支1的结果;条件表达式...

Jeffxu_lib的博客 2024

9 硬件工程师笔面试高频知识考点真题解析——运算放大器

运算放大器(运放)摘要 运放是一种高增益、差分输入的模拟集成电路,具有虚短(线性区输入电压相等)和虚断(输入电流为零)特性,支持负反馈(线性放大)和开环/正反馈(饱和区比较)两种工作模式。关键特性包括高输入阻抗、低输出阻抗,理想运放参数(如无限增益)与实际参数(如有限带宽)的差异。 选型要点: 信号特性:直流/低频信号关注失调电压(Vos)、温漂;高频信号侧重带宽(GBW)和压摆率(SR)。 电源条件:单/双电源供电、电压范围及功耗需求(如电池设备需低静态电流)。 精度与噪声:微弱信号需低噪声运放,高精度场

XU157303764的博客 1675

C#笔记02 C#的基本语法

C#笔记02 C#的基本语法 C#是可用于创建要运行在.NET CLR上的应用程序的语言之一,它从C和C++语言演化而来,是Microsoft专门为使用.NET平台而创建的。使用C#开发应用程序比使用C++简单,因为其语法比较简单。但是,C#是一种强大的语言,在C++中能完成的任务几乎都能利用C#完成。——清华大学出版社《C#入门经典(第五版)》 写在前边: C#程序由一个或多个类型声明组成,可以以任何顺序声明。 1. 标识符和关键字 1.1 标识符用来命名变量 、方法、参数和许多其他程序结构之类的东西

Tervor_HAN的博客 284

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

02-C#

反射(Reflection)是 C# 中的一项强大功能,来自命名空间。读取程序集(DLL/EXE)的元数据(metadata)创建对象实例调用方法访问字段和属性Emit 是反射的进阶能力,可以在程序运行时动态生成 dll、类、方法、字段等,来自命名空间。反射是"读":读取已有程序集的元数据并使用它。Emit 是"写":在运行时动态生成新的程序集和代码。生成步骤方法参数说明LoadFromDLL 名称(需要后缀)最常用,支持相对路径,自动解析依赖LoadFile完整路径(需要后缀)

噢~ 520

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: C#基础
下一篇: C#003继承多态
Jdouble
博客等级 码龄7年 1粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值