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

从零到一:STM32G431的DSP库集成与FFT实战避坑指南

本文详细介绍了在STM32G431微控制器上集成CMSIS-DSP库并进行FFT实战开发的完整流程。重点解析了通过CubeMX和Keil环境配置DSP库的关键步骤、编译器宏定义陷阱及解决方案,并提供了FFT算法优化、内存管理及常见问题诊断的实用技巧,帮助开发者高效实现嵌入式信号处理应用。

oauth7security的博客 768

C#—02 变量

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

m0_64778761的博客 1266

从混乱到清晰:用QJsonObject重构你的Qt网络API数据解析层(避坑指南)

本文详细介绍了如何使用QJsonObject重构Qt网络API数据解析层,避免常见的JSON解析陷阱。通过安全解析模式、数据绑定和性能优化技巧,帮助开发者构建高效、健壮的解析逻辑,提升代码可维护性和可读性。特别适用于处理复杂嵌套的JSON响应数据场景。

weixin_29011667的博客 230

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

【清华大学软院】15-19年推免试题历年整理

整理的题目为清软预推免机试(外校)硕士机考题目。 年代 题目1 题目2 题目3 2019 质因数分解 二叉搜索树 区间DP(折叠字符串) 2018 日期转换 高精度模拟 区间DP(戳气球) 2017 进制素数 被遗漏的数字 DP(收集苹果) 2016 大数运算 DP DFS 2015 进制素数: http://acm.hdu.edu.cn/showproblem.php?pid=1230 2017年题目(这个是找的最准确的题目): 1题见【链接】 2题见【链接】

云端筑梦师 2255

DDR内存Prefetch机制详解:从DDR1到DDR4的技术演进与性能提升

本文深入解析DDR内存Prefetch机制从DDR1到DDR4的技术演进与性能提升。通过分析Prefetch技术的实现原理与Burst传输的协同机制,揭示DDR1的2n Prefetch、DDR2的4n Prefetch、DDR3的8n Prefetch以及DDR4的Bank Group架构创新如何显著提升内存带宽与系统性能。

weixin_30369041的博客 537

C#基础02

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

qq_43227356的博客 166

用Python爬取公众号历史所有文章,看这篇就够了

手把手教你爬取公众号历史所有文章

u010522887的专栏 1万+

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

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

weixin_35749440的博客 203

飞书接入OpenClaw:从零到一的保姆级图文教程

本文主要介绍了飞书接入OpenClaw:从零到一的保姆级图文教程,希望能对学习使用OpenClaw 的同学们有所帮助。 文章目录 1. 背景 2. 解决方案 2.1 步骤一:安装插件 2.2 步骤二:创建机器人应用 2.3 步骤三:测试 3. 注意事项

weixin_43178406的博客 13万+

企业级大数据平台的数据网格(Data Mesh)转型之路

随着企业数字化转型的深入,传统大数据平台面临数据孤岛化、治理成本高、业务响应慢等核心痛点。数据网格作为一种新兴的分布式数据管理架构,通过领域驱动设计(DDD)、数据产品化和联邦治理模式,为企业提供了打破数据壁垒、提升数据生产力的全新路径。本文聚焦企业级数据平台从传统架构(数据湖/数据仓库)向数据网格转型的关键技术、实施步骤和组织配套,涵盖技术架构设计、核心算法实现、项目实战案例及工具链推荐。背景介绍:定义转型目标、术语体系与核心挑战核心概念与联系:解析数据网格四大支柱及技术架构图谱核心算法原理。

AI 领航者的博客 1084

C#基础— 02

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

Jeffxu_lib的博客 2024

ProcessingJoy —— 最简单的实时流体模拟【JAVA】

实现基于非常非常经典的 Paper ——Jos Stam 的Real-Time Fluid Dynamics for Games 代码和注释 float visc = 0.0f; float diff = 0.0f; int N = 250; int size = (N + 2) * (N + 2); float[] u = new float[size]; // 速度, 水平/竖直 float[] v = new float[size]; float[] u_prev = new fl...

ShaderJoy 的兴趣技术杂货铺 2815

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

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

02-C#

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

噢~ 520

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值