第一章 ASP.net C#基本语法(B篇 程序结构、运算符、运算优先级)

C#基础篇--C# 运算符 C#基础篇--C#运算符 阅读详情

第一章 ASP.net C#基本语法(B篇 程序结构、运算符、运算优先级)

在上一部分中我们做了一个简单的ASP.net的程序,但是简单中真的简约吗?VS2010的模板提供了那些东西呢?单位现在需要计算很多的数字。如何实现呢?豆豆做了一个计算公式。做的是“惊天地泣鬼神”啊!可是结果!算出来一个怪胎!这不郁闷着呢!

本章目标:了解程序模板的结构,能够使用运算符,详细剖析和熟练掌握运算的优先级

本章结构

image

第一部分:项目结构

先看图

wps_clip_image-7546

新建立的ASP.net怎么有这么多东西?没有?你建立一个ASP.net项目,按Ctrl+Alt+L看看

现在解读一下里面的项目

wps_clip_image-12169

VS2010里面模板带的页面比VS以前的版本要多很多,结构更加的清晰了。希望大家保持这种清晰的方式来做页面

注意:wps_clip_image-11912没一个aspx都带一个aspx.cs,其中aspx页面实现前台的页面显示,也就是浏览器看到的内容。前台提交的处理由后台的aspx.cs进行处理,其处理过程浏览器是看不到的,这样很有效的提高的程序的安全性和逻辑性。

第二部分:程序结构

如下图:

wps_clip_image-4107

第三部分:运算符

一、[]

方括号 ([]) 用于数组、索引器和属性,也可用于指针。

1、数组类型是一种后跟 [] 的类型:

int[] fib = new int[100]; //创建一个有100元素的数组

若要访问数组的一个元素,则用方括号括起所需元素的索引:

fib[0] = fib[1] = 1;

for( int i=2; i<100; ++i ) fib[i] = fib[i-1] + fib[i-2];// 如果数组索引超出范围,则会引发异常。

2、不能重载数组索引运算符;但类型可以定义采用一个或多个参数的索引器和属性。索引器参数括在方括号中(就像数组索引一样),但索引器参数可声明为任何类型(这与数组索引不同,数组索引必须为整数)。

例如,.NET Framework 定义 Hashtable 类型,该类型将键和任意类型的值关联在一起。

Collections.Hashtable h = new Collections.Hashtable();

h["a"] = 123; // note: using a string as the index

3、方括号还用于指定属性:

[attribute(AllowMultiple=true)]

public class Attr

{

}

4、可以使用方括号来指定指针索引:

unsafe fixed ( int* p = fib )   // p points to fib from earlier example

{

    p[0] = p[1] = 1;

    for( int i=2; i<100; ++i ) p[i] = p[i-1] + p[i-2];

}

二、()

除了用于指定表达式中的运算顺序外,圆括号还用于指定强制转换或类型转换:

double x = 1234.7;

int a;

a = (int)x; // cast double to int

三、.

点运算符 (.) 用于成员访问。点运算符指定类型或命名空间的成员。例如,点运算符用于访问 .NET Framework 类库中的特定方法:

System.Console.WriteLine("hello");

四、::

命名空间别名限定符运算符 (::),用于查找标识符。它通常放置在两个标识符之间,例如:

global::System.Console.WriteLine("Hello World");

备注:

命名空间别名限定符可以是 global。这将调用全局命名空间中的查找,而不是在别名命名空间中。

五、+

+ 运算符既可作为一元运算符也可作为二元运算符。

备注:

一元 + 运算符是为所有数值类型预定义的。对数值类型进行一元 + 运算的结果就是操作数的值。

为数值类型和字符串类型预定义了二元 + 运算符。对于数值类型,+ 计算两个操作数之和。当其中的一个操作数是字符串类型或两个操作数都是字符串类型时,+ 将操作数的字符串表示形式串联在一起。

委托类型也提供二元 + 运算符,该运算符执行委托串联。

using System;

class MainClass

{

    static void Main()

    {

        Console.WriteLine(+5);        // unary plus

        Console.WriteLine(5 + 5);     // addition

        Console.WriteLine(5 + .5);    // addition

        Console.WriteLine("5" + "5"); // string concatenation

        Console.WriteLine(5.0 + "5"); // string concatenation

        // note automatic conversion from double to string

    }

}

六、-

- 运算符既可作为一元运算符也可作为二元运算符。

一元 - 运算符是为所有数值类型预定义的。数值类型的一元 - 运算的结果是操作数的反数。

二元 - 运算符是为所有数值类型和枚举类型预定义的,其功能是从第一个操作数中减去第二个操作数。

委托类型也提供二元 - 运算符,该运算符执行委托移除。

using System;

class MainClass

{

    static void Main()

    {

        int a = 5;

        Console.WriteLine(-a);

        Console.WriteLine(a - 1);

        Console.WriteLine(a - .5);

    }

}

七、*

乘法运算符 (*),用于计算操作数的积。另外还用作取消引用运算符,允许读取和写入指针。

备注:

所有数值类型都具有预定义的乘法运算符。

* 运算符还用来声明指针类型和取消引用指针。该运算符只能在不安全的上下文中使用,通过 unsafe 关键字的使用来表示,并且需要 /unsafe 编译器选项。取消引用运算符也称为间接寻址运算符。

using System;

class MainClass

{

    static void Main()

    {

        Console.WriteLine(5 * 2);

        Console.WriteLine(-.5 * .2);

        Console.WriteLine(-.5m * .2m); // decimal type

    }

}

八、/

除法运算符 (/) 用第二个操作数除第一个操作数。所有数值类型都具有预定义的除法运算符。

using System;

class MainClass

{

    static void Main()

    {

        Console.WriteLine(-5/2);

        Console.WriteLine(-5.0/2);

    }

}

九、%

模数运算符 (%) 计算第二个操作数除第一个操作数后的余数。所有数值类型都具有预定义的模数运算符。

using System;

class MainClass

{

    static void Main()

    {

        Console.WriteLine(5 % 2);       // int

        Console.WriteLine(-5 % 2);      // int

   

VS2019 ASP.NET C#webservice接口创建、发布、部署到IIS及调用 文章目录Webservice接口创建1.创建ASP.NET Web应用程序2.添加web服务3.添加成功后,写好自己想要的接口,下面以四则运算为例4.发布5.在IIS上部署WebClient端1.新创建Winform窗口程序2.添加引用3.设计好UI界面4.双击计算按钮运行效果 Webservice接口创建 1.创建ASP.NET Web应用程序 : 2.添加web服务 : 右键项目-添加-web服务 3.添加成功后,写好自己想要的接口,下面以四则运算为例 : 必须在函数上面添上一行代码[WebMet 阅读详情

相关推荐

C# 异步方法中缺少 `await` 运算符的隐患与解决方案

缺少await的async同步阻塞,引发性能问题异常处理不符合异步规范代码误导性和维护成本增加通过合理使用awaitTask.Run或移除async关键字,可编写高效且符合预期的异步代码。异步不是魔法,async需要await才能释放其价值。

若汝棋茗 的博客 1891

从‘/’和‘%’的坑说起:在ASP.NET Core Razor页面开发中,你必须留心的5个C#运算符细节

本文深入探讨了在ASP.NET Core Razor页面开发中5个易被忽视的C#运算符细节,包括除法运算符的类型陷阱、字符串连接的性能问题、空值合并运算符的妙用等。通过真实项目案例和解决方案对比,帮助开发者避免常见错误,提升代码质量和性能。特别适合使用C#进行Web开发的工程师阅读。

weixin_30363981的博客 157

【Arduino 101】五分钟搞懂PID控制算法

【Arduino 101】五分钟搞懂PID控制算法物料清单尺寸接线 文章目录物料清单尺寸接线 物料清单 Arduino Uno x 1 超声波模块(HC-SR04)x 1 舵机(Tower Pro MG996R)x 1 舵机供电: 5V 稳压管(LM7805) x 1 , 滤波电容 (0.33uF, 0.1uF) x 2, 9V 电池 x 1 滑轨:泡沫板 支架:乐高 滚动物体:胶带(Up试过网球,但是测距模块的表现不理想) 尺寸 接线 ...

机器人工坊 1万+

操作系统权限提升(十五)之绕过UAC提权-基于白名单DLL劫持绕过UAC提权

先将操作在本地执行,使用procmon进行监控,过滤DLL和 NAME NOT FOUND ,寻找可以替换的DLL文件,注意文件的权限是否可以在目录写入,可以看到在C盘的tools目录的文件中有一个srrstr.dll被调用,但是没有加载,我们生成恶意的DLL文件看看是否可以被劫持。在Windows中许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库文件,即dll文件,放置于系统中,个人理解类似于我们编程中引入的模块。将我们生成的DLL文件改名为我们要劫持的DLL文件名。

把自己活成一道光,因为你不知道,谁会借着你的光,走出了黑暗。请保持心中的善良,因为你不知道,谁会借着你的善良,走出了绝望。请保持你心中的信仰,因为你不知道,谁会借着你的信仰,走出了迷茫。请相信自己的力量,因为你不知道,谁会因为相信你,开始相信了自己.... 1873

vue3+element-plus - 最新详细实现将表格Table组件 “所见所得导出“ 为excel(xls/xlsx)电子表格文件,表格中的图片图像、图标等媒体资源完美导出显示(详细示例代码)

vue3,nuxt3,element plus,表格组件,Table,el-table,导出,下载,excel,电子工作簿,xls,xlsx,将表格导出成xls,如何把表格原封不动的导出成excel,保留图片,带图片,图标,如何导出包括含有图片的Excel表格,图片和表格数据导出excel,把表格导出成excel格式,表格内的图片一起导出,vue3导出图片和数据到Excel,可导出图片,导出图像到Excel,网页上的图片怎么能导出到xls表格中,显示图片url链接,图片太多导出失败,图片会超出单元格,图片不

✅ 精选推荐文章 4766

深度解析:Android开发工程师(嵌入式系统方向)职位 - 技术需求、面试准备与发展路径

本文深入分析了嵌入式Android开发工程师的岗位要求和技术内涵。该职位需要掌握C/C++、Linux系统编程、硬件接口等核心技术,能够进行Android系统底层定制开发,包括HAL层实现、Framework修改、性能优化等工作。文章详细解读了岗位职责,梳理了必备技术栈,提供了针对性的面试问题与参考答案,并探讨了职业发展路径。这类岗位要求开发者兼具软件工程能力和硬件基础知识,适合在智能电视、机顶盒、车载系统等嵌入式领域发展的技术人员。

郑伟强dev的专栏 134

基于巴法云物联网云平台构建可视化控制网页(以控制LED为例)

本文基于巴法云物联网云平台构建可视化控制网页,实现了对LED的控制。

kevin1499的博客 4519

【Python计量】linearmodels面板数据回归(一)

我们以伍德里奇《计量经济学导论现代方法》的”第14章高级面板数据方法“的案例14.1为例,使用jtrain中的数据来进行固定效应估计。

mfsdmlove的博客 9277

YOLOv8源码解析与复现:ShuffleAttention:高效的混合注意力机制 实现通道和空间混合注意力

随着深度学习在计算机视觉领域的飞速发展,卷积神经网络(CNNs)已经成为图像分类、目标检测、语义分割等任务的核心。为了进一步提升模型的性能,研究者们引入了“注意力机制”,旨在让网络能够动态地关注输入数据中最具信息量的部分。经典的注意力模块,如SE-Net(Squeeze-and-Excitation Networks)和CBAM(Convolutional Block Attention Module),通过通道注意力或结合通道与空间注意力,显著增强了模型的特征表达能力。

FJN110的博客 554

osgEarth 球上显示地形数据库

osgEarth 球上显示地形数据库 本文展示了一种由DSM和DEM得到Osgb工程,并在osgEarth球上显示的方法。其中DSM、DOM到Osgb工程的转换由VPB(VirtualPlanetBuilder)来实现,并采用Model图层将Osgb工程在球上显示。 本文主要解决一下问题: VPB编译 VPB生成地形 地形在球上显示 目录 1 前言 2 VPB编译与使用 3 地形在osgEarth球上显示 内容 1 前言 VirtualPlanetBuilder是一个开源代码工具,用于根据

CPWWHSU的博客 2435

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

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

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

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

上一篇: 第一章 ASP.net C#基本语法(A篇 变量)
makewong
博客等级 码龄20年 20粉丝 2原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值