ArcGIS Engine:C#基础语法的了解

2023-09-18 22:04:52

目录

01 前言

02 实验

2.1 创建“Hello World”程序

2.2 创建程序,完成成绩评定功能

2.3 创建程序,完成1到100的累加

2.4 窗体应用程序


01 前言

学了一些语言了,确实发现,语言只是工具,只有你作为初恋的语言值得你花大量时间去深究。而对于其他作为应用或者说只是作为桥梁的语言去学习其他内容的课程,没有必要过分深究语言的基础语法,基本上了解了一些数据类型、简单逻辑运算、算术运算以及简单的判断和循环就够了。至于其他的,要不遇到了再说,要不报错了再深究,不然永远患得患失或者沉迷于语言的深究中而不能将语言真正应用于我们的专业中。
这里也只是浅尝辄止,只需简单了解C sharp的基础语法我们即可上手ArcGIS Engine,关键是要应用,而不应该像当时学习C语言等第一门语言时一直关注语言本身。

--前期我会更关注每一个步骤,后面将会简写,担心繁琐跳过即可。

环境:
我使用的是ArcGIS Engine10.2;ArcGIS10.2;VisualStudio2017;
(2017需要修改注册表以欺骗ArcGIS Engine,否则只能使用2010、2012版本,详情谷歌)

02 实验

2.1 创建“Hello World”程序

提示:

1、创建控制台应用程序;

2、在主程序类的Main函数中调用静态类Console的静态成员函数WriteLine

  • 打开VS后界面如下:

  • 创建项目 (控制台应用程序)

 

编写输出Hello World的代码:
 

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

namespace BasicGrammar
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World");  // 在控制台打印字符串Hello World, 此处的Console.WriteLine类似于printf或者print
            // 上面代码结尾处注意加分号 ; 表示语句的结束, 另外注意字符串使用双引号而非单引号(用于字符而非字符串), 另外查看输入法要是英文
        }
    }
}

关键就是:

Console.WriteLine("Hello World");

使用快捷键Ctrl + F5开始执行代码或者:

运行结果:

2.2 创建程序,完成成绩评定功能

提示:

1)、创建控制台应用程序;

2)、调用Console.ReadLine函数接收输入

3)、调用Convert.ToDouble函数将输入的内容转换为数值型变量;

4)、判断数值所处范围(<60:不及格;60~90:良好;>90:优秀)

5)、调用Console的WriteLine函数输出结果。

注意:Convert类可在多种数据类型间进行转换,ToInt32:转换为整型;

 因为本身都是控制台应用程序,所以这里我就不重复新建项目了。我就在原来的文件上进行代码的添加并把第一个小实验的代码注释。(由于C#只允许一个主程序,所以你不能创建两个含main函数的cs文件进行两个小实验的代码编写)

这里大家自行体会代码的含义,如果有代码基础应该比较快:

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

namespace BasicGrammar
{
    class Program
    {
        static void Main(string[] args)
        {
            // 第一个小实验
            Console.WriteLine("Hello World");  // 在控制台打印字符串Hello World, 此处的Console.WriteLine类似于printf或者print
            // 上面代码结尾处注意加分号 ; 表示语句的结束, 另外注意字符串使用双引号而非单引号(用于字符而非字符串), 另外查看输入法要是英文

            // 第二个小实验
            Double score;
            bool isDouble;

            while (true)
            {
                Console.WriteLine("请输入成绩: ");
                string words = Console.ReadLine();  // 从控制台读取用户输入的字符串
                isDouble = Double.TryParse(words, out score);  // 如果words是数值那么isDouble为true,否则为false, 将成功转换的数值给score

                if (!isDouble)
                {
                    Console.WriteLine("输入的不是数值, 请重新输入!");
                    continue;
                }

                if ((score < 0) || (score > 100))
                {
                    Console.WriteLine("成绩录入错误, 程序结束!");
                    break;
                }
                else if (score < 60)
                {
                    Console.WriteLine("成绩不及格");
                }
                else if (score < 80)
                {
                    Console.WriteLine("成绩良好");
                }
                else
                {
                    Console.WriteLine("成绩优秀");
                }
            }
        }
    }
}

不再详细阐述,主要涉及了While和if-else的使用,以及简单的数据类型转换(字符串转双精度浮点型)。

2.3 创建程序,完成1到100的累加

提示:

1)、创建控制台应用程序;

2)、在主程序类的Main函数中创建for(或while\do while)循环,得到1+2+…+100的结果

3)、调用Console的WriteLine函数输出结果。

 

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

namespace BasicGrammar
{
    class Program
    {
        static void Main(string[] args)
        {
            // 第一个小实验
            Console.WriteLine("Hello World");  // 在控制台打印字符串Hello World, 此处的Console.WriteLine类似于printf或者print
            // 上面代码结尾处注意加分号 ; 表示语句的结束, 另外注意字符串使用双引号而非单引号(用于字符而非字符串), 另外查看输入法要是英文

            // 第二个小实验
            Double score;
            bool isDouble;

            while (true)
            {
                Console.WriteLine("请输入成绩: ");
                string words = Console.ReadLine();  // 从控制台读取用户输入的字符串
                isDouble = Double.TryParse(words, out score);  // 如果words是数值那么isDouble为true,否则为false, 将成功转换的数值给score

                if (!isDouble)
                {
                    Console.WriteLine("输入的不是数值, 请重新输入!");
                    continue;
                }

                if ((score < 0) || (score > 100))
                {
                    Console.WriteLine("成绩录入错误, 程序结束!");
                    break;
                }
                else if (score < 60)
                {
                    Console.WriteLine("成绩不及格");
                }
                else if (score < 80)
                {
                    Console.WriteLine("成绩良好");
                }
                else
                {
                    Console.WriteLine("成绩优秀");
                }
            }

            // 第三个实验
            int _sum = 0;
            for (int i = 1; i <= 100; i++)
            {
                _sum += i;
            }
            Console.WriteLine(string.Format("1~100的累加结果为: {0}", _sum));
        }
    }
}

2.4 窗体应用程序

这个和之前的就有很大不同了,我们需要重新创建项目。之前的是控制台应用程序,现在是窗体应用程序,现在是一个桌面应用程序的开发项目了。

 

 

运行:

更多推荐

Electron自动化测试技术选型调研

Electron简介Electron是一个开源的框架,用于构建跨平台的桌面应用程序。它由GitHub开发并于2013年首次发布。Electron允许开发人员使用Web技术(如HTML、CSS和JavaScript)来构建桌面应用程序,同时可以在Windows、macOS和Linux等操作系统上运行。以下是一些关键特点和

【广州华锐互动】煤矿坍塌VR事故警示教育突破了哪些限制?

煤矿坍塌事故是煤矿行业的一种常见事故,对于矿工的生命安全和生产设备都存在着严重威胁。传统的安全培训方式往往难以真实地呈现事故场景,难以达到理想的安全教育效果。而虚拟现实(VR)技术的出现,为煤矿安全教育带来了新的突破。本文将深入探讨,广州华锐互动所开发的煤矿坍塌VR事故警示教育系统所突破的限制,展现其在安全教育中的重要

STM32 USB CDC 虚拟串口

//用虚拟串口(USBCDCVCP)感觉有些不稳定,尤其是下位机掉电后再上电,上位机虚拟的那个串口根本不能用,还有就是//必须等虚拟串口出来后且知道串口号上位机才可以执行打开操作//上面是实际情况,但并不是STM32的USB不行,而是PC端的驱动程序有问题。或者说是PC机的驱动程序机制造成的。//如果是PC机正常的RS

K8s(Kubernetes)学习(五)——Service:ClusterIP、NodePort、LoadBalancer、 ExternalName

第五章Service什么是Service为什么需要ServiceService特性Service与Pod关联Servicetype类型如何使用Service多端口配置1什么是Service1.1定义官网地址:https://kubernetes.io/zh-cn/docs/concepts/services-netwo

2023/09/15 qt day2

完善登录框点击登录按钮后,判断账号(admin)和密码(123456)是否一致,如果匹配失败,则弹出错误对话框,文本内容"账号密码不匹配,是否重新登录”,给定两个按钮ok和cancel,点击ok后,会清除密码框中的内容,继续进行登录;如果点击cancel按钮,则关闭界面。如果账号和密码匹配,则弹出信息对话框,给出提示信

【总结】javascript中的同步与异步

概念同步模式简单的理解就是后一个任务等待前一个任务的结束才能执行,程序的执行顺序与任务的排列顺序是一致的、同步的;同步任务进入主线程异步模式异步的每一个任务有一个或多个回调函数,前一个任务执行结束后,并不会执行后一个任务,而是执行它的回调函数。而后一个任务不会等待前一个任务结束才执行,所以程序的执行顺序与任务的排列顺序

【Java 基础篇】Java线程异常处理详解

在多线程编程中,异常处理是一个至关重要的方面,它决定了你的多线程应用程序的稳定性和可靠性。在本篇博客中,我们将深入探讨Java中的线程异常处理,包括线程抛出的异常类型、如何捕获和处理异常以及最佳实践。异常类型在多线程应用中,线程可能会抛出不同类型的异常。了解这些异常的类型对于有效的异常处理至关重要。以下是一些常见的线程

C/C++简单计算器 2019年12月电子学会青少年软件编程(C/C++)等级考试一级真题答案解析

目录C/C++简单计算器一、题目要求1、编程实现2、输入输出二、解题思路1、案例分析三、程序代码四、程序说明五、运行结果六、考点分析C/C++简单计算器2019年12月C/C++编程等级考试一级编程题一、题目要求1、编程实现一个最简单的计算器,支持+,-,,/四种运算。仅需考虑输入输出为整数的情况,数据和运算结果不会超

森林防火可视化智能监管与风险预警系统解决方案

一、方案背景森林火灾是世界八大自然灾害之一,具有发生面广、突发性强、破坏性大、危险性高、处置扑救特别困难等特点,严重危及人民生命财产和森林资源安全,甚至引发生态灾难。有效预防和及时控制森林火灾是保护国家生态建设成果、推进生态文明建设的重要措施。监管痛点:1)现有的森林防火监测系统落后,以人工地面巡护、瞭望塔高点巡查为主

Mysql基本命令操作

Mysql基本命令操作一、基本概念1.1、数据库分类1.1.1、关系型数据库(二代数据库)1.1.2、非关系型数据库(三代数据库)1.2、库和表1.3、SQL语句1.3.1、SQL语言分类1.3.2、常用数据类型二、查看数据库2.1、查看mysql版本2.2、查看数据库2.3、查看数据库中包含的表2.4、查看表结构三、

驱动开发 linux内核GPIO子系统、及其新版API的概念和使用,linux内核定时器

1、GPIO子系统概述:每一个芯片厂商生产出芯片后会给linux提供一个当前芯片中gpio外设的驱动,我们只需要调用对应的厂商驱动就可以完成硬件的控制。而linux内核源码中的gpio厂商驱动有很多,linux内核个会对厂商驱动做一些封装,会提供一系列的API,我们在自己编写设备驱动中只需要调用这些API即可访问对应厂

热文推荐