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

news2024/11/25 1:41:31

目录

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 窗体应用程序

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

 

 

运行:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1020568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux系统编程6(线程互斥,锁,同步,生产消费模型)

上篇文章介绍完线程的概念后&#xff0c;我们将在这篇文章中初步探讨线程编程以及线程应用中的问题&#xff0c;这篇文章将以抢票系统为例&#xff0c;贯穿整篇文章。笔者将介绍在多线程编程中会出现的问题&#xff0c;什么是同步&#xff1f;什么是互斥&#xff1f;为什么多线…

【nginx】(13: Permission denied) while connecting to upstream

一、问题背景 在使用nginx基于域名转发时&#xff0c;发现通过curl可以请求成功&#xff0c;但是通过外网域名访问无法访问通&#xff0c;通过日志查询发现如下问题 2023/09/18 11:26:18 [crit] 11981#11981: *106 connect() to 127.0.0.1:12500 failed (13: Permission deni…

如何理解JavaScript定时器的4种写法-附带面试题讲解

在JavaScript里&#xff0c;我们已经会使用一些原生提供的方法来实现需要延时执行的操作代码&#xff0c;比如很多在线时钟的制作&#xff0c;图片轮播的实现&#xff0c;还有一些广告弹窗&#xff0c;但凡可以自动执行的东西&#xff0c;都是可以和定时器有关的。今天就来和大…

网工内推 | 国企、上市公司,IA/IP认证即可,有年终、绩效

01 上海市机械设备成套&#xff08;集团&#xff09;有限公司 招聘岗位&#xff1a;网络工程师 职责描述&#xff1a; 1、 负责公司电脑、网络设备、电器设备、办公设备等硬件的管理、维护和使用&#xff0c;做好计算机硬件及办公设备台帐&#xff1b; 2、 负责公司办公软件的…

博客系统的页面设计

效果展示 博客列表页 博客详情页 博客登录页 博客编辑页 主要分成四个页面: 博客列表页 显示出都有哪些博客博客详情页 展示博客的详细正文博客登录页 进行登录操作博客编辑页 有一个 markdown 编译器,可以编写博客内容 1.实现博客列表页 1.背景设计 body {/*注意这里相对…

【UE5 C++ 學習日志】01. UEnhancedInput

UE5 提供了一種對複雜輸入處理或運行時重新映射按鍵增强輸入插件。此插件向上兼容UE4的默認輸入系統&#xff0c;并可以實現径向死区、同时按键、上下文输入和优先级安排等多種功能。 核心概念&#xff1a; &#xff08;1&#xff09;Input Actions&#xff1a; Input Actio…

ROS学习ROS基础

ROS学习&#xff08;一&#xff09; ROS基础 一、工作空间基本操作二、ROS通信编程——话题编程 "hello world " 例程 1、创建发布者&#xff08;talker&#xff09;2、创建订阅者&#xff08;listener&#xff09;3、添加编译选项4、运行可执行文件 自定义话题消息…

在PHP8中对数组进行排序-PHP8知识详解

在php8中&#xff0c;提供了丰富的排序函数&#xff0c;可以对数组进行排序操作。常见的排序函数如下几个&#xff1a;sort() 函数、rsort() 函数、asort() 函数、arsort() 函数、ksort() 函数、krsort() 函数、natsort()函数和natcascsort()函数。 1、sort() 函数&#xff1a;…

<C++> 红黑树模拟实现map和set

使用一颗红黑树同时封装map和set。 红黑树源码 #pragma once #include <cassert> #include <iostream> #include <utility> using namespace std;// 红黑树结点颜色 enum Colour {RED,BLACK, };template<class K, class V> struct RBTreeNode {//使用…

分析常见数据结构在内存中的存储形式

本文会在x64dbg中分析vector,list,map的内存存储特点 目录 分析vector在内存中的存储形式 x32dbg分析vector数组 总结一下vector的内存布局 分析 list 在内存中的存储形式 x32dbg分析 list 数组 总结一下 list 的内存布局 分析map在内存中的存储形式 x32dbg分析map 总…

python爬虫爬取电影数据并做可视化

思路&#xff1a; 1、发送请求&#xff0c;解析html里面的数据 2、保存到csv文件 3、数据处理 4、数据可视化 需要用到的库&#xff1a; import requests,csv #请求库和保存库 import pandas as pd #读取csv文件以及操作数据 from lxml import etree #解析html库 from …

内网穿透工具 Cpolar 帮您实现用友U8 Cloud 的外网部署,一键畅享云端ERP

文章目录 前言1. 用户需求2. Cpolar内网穿透的安装和注册2.1 Cpolar云端设置2.2 Cpolar Web UI本地设置 3. 公网访问测试 前言 用友U8 Cloud是用友公司推出的一款云端ERP解决方案。它以云计算技术为基础&#xff0c;为企业提供全面的企业资源管理解决方案&#xff0c;涵盖了财…

主机存活检测脚本

原理演示 在命令行下用下面命令安装scap模块&#xff1a; python -m pip install scapyscapy与scrapy 有非常大的区别。 scapy 是一个Python 的第三方模块&#xff0c;被称为“网络神器”。scapy 模块能够发送、捕获、分析和铸造网络数据 sr1发送接收函数 如图&#xff0c;安…

AI绘画变现渠道:日入100+,推荐一个本人实操的方法

关于AI绘画变现&#xff0c;之前写了几篇相关的文章&#xff0c;需要的自己查阅&#xff1a; AI绘画&#xff1a;如何让图片开口说话生成视频&#xff1f;变现渠道有哪些&#xff1f; 无私分享我的AI绘画变现之路&#xff0c;普通人可实操可模仿 AI壁纸号一周增加上千粉丝&a…

二叉树题目:层数最深叶子结点的和

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题&#xff1a;层数最深叶子结点的和 出处&#xff1a;1302. 层数最深叶子结点的和 难度 4 级 题目描述 要求 给定一个二叉树…

有效的括号(栈的高频面试题)

一、题目描述 题目连接&#xff1a;有效的括号 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;] 的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺…

我的创作纪念日 · 开始创作的第128天~

我的创作纪念日 开始创作的第128天 1️⃣ 机缘2️⃣ 收获3️⃣ 日常4️⃣ 憧憬 1️⃣ 机缘 时光匆匆&#xff0c;春去秋来&#xff0c;2023年在CSDN下笔的128天已去&#xff0c;回想当初成为创作者的初心&#xff0c;现在的心境已截然不同。当时正值上家公司工作变动&#xf…

【大数据】Doris 构建实时数仓落地方案详解(二):Doris 核心功能解读

Doris 构建实时数仓落地方案详解&#xff08;二&#xff09;&#xff1a;Doris 核心功能解读 1.Doris 发展历程2.Doris 三大模型3.Doris 数据导入4.Doris 多表关联5.Doris 核心设计6.Doris 查询优化7.Doris 应对实时数仓的痛点 1.Doris 发展历程 Apache Doris 是由 百度 研发并…

华为云云耀云服务器L实例评测|用Python的Flask框架加Nginx实现一个通用的爬虫项目

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌&#xff0c;CSDN博客专家&#xff0c;阿里云社区专家博主&#xff0c;2023年6月CSDN上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;AWS/阿里云资深使用…