文章列表
QueryString传值
这是经典的传值方式,使用起来非常简单,只是将传过来的值在浏览器的地址栏上显示,不能传递对象,一般这种传递的少,而且是安全性能不高时候使用;
Session传值
这种传值方式是将传过来的只存在服务器中并且能比较多的数据,而且安全性很高,如果存过多的数据会大量占用服务器的资源,所以使用者要小心使用。
Cookie传值
这种传值存储在本地电脑上,存的时候可以自己设定,当时存储的数据量是很少的,并且也不安全。
Server.Transfer传值
这种传值方式比较节省服务器资源,当时不能重定向到其它服务器。
Application传值
这种传值方式对所有的用户都可以,所 ...
string与StringBuilder
string在每次拼接字符串的时候,都会在内存中新建一个空间,这样就会使系统开销很大,
所以就引进了StringBuilder,来提高字符串的拼接,他在拼接的时候不用创建新的空间。
语法:StringBuilder sb=new StringBuilder();
方法:sb.Append();直接在内存中添加子符
sb.ToString();将StringBuilder拼接的字符串转换成string类型的字符
sb.Insert();在字符串中插入一个字符;
sb.Replace();更换某个字符;
StringBuilder
它修改的字符时不用返回值的 ...
在继承中虚类和费虚类的区别
- 博客分类:
- c#面向过程的基础
虚方法定义:
虚方法就是可以被子类重写的方法,如果子类重写了虚方法
,那么就运行重写后的虚方法,如果没有,则就用父类的虚方法
virtual关键用于修饰方法、属性、索引或事件生命,并允许
在派生类中重写这些现象。
例如:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 虚方法
{
class Person
{
#region 虚方法与非虚方法的不同
//虚方法
pub ...
字符的比较,比较时大小写忽略有三种方法
(1)将其全变成小写用 ToLower()方法,或则全变成大写用ToUpper()方法
例如:
static void Main(string[] args)
{
string s1 = "JaVa";
string s2 = "jAvA";
s1 = s1.ToLower();//小写方法
s2 = s2.ToLower();
if(s1==s2)
{
...
简单的索引,索引时可以重载的
class Program
{
static void Main(string[] args)
{
int[] values = {3,5,9,8};
int i = values[1];//将数据里的数用一个变量接受值
Console.WriteLine(i);
}
}
索引器
class Program
{
static void Main(string[] args)
{
...
飞行棋玩家的创建及主方法的实现
- 博客分类:
- c#面向过程的基础
static int step;
static int[] Map = new int[100];
static int[] player = { 0, 0 };//player[0]存玩家A的下标,player[1]存玩家B的下标
static string[] name = new string[2];//name[0]存玩家A的姓名,name[1]存玩家B的姓名
sta ...
在进入幸运盘的时候有个选择,只能那之间几个数间选择的方法
/// <summary>
/// 判断数是否在一个范围内
/// </summary>
/// <param name="min">最小边界值</param>
/// <param name="max">最大边界值</param>
/// <returns></returns>
static int ...
飞行棋掷骰子的实现及判断范围的方法
- 博客分类:
- c#面向过程的基础
要是玩家要有像真实的感觉有掷骰子的,所以要系统随机产生1-6之间的数,产生随机数的方法Random r = new Random(),还有进入每个关卡所产生的效果
/// <summary>
/// 玩家掷筛子的方法
/// </summary>
/// <param name="play">A掷骰子传0过来 B掷筛子传1过来</param>
static void Action(int play)
{ //play中存当前玩家 姓名 坐标 ...
编写飞行棋主要把棋盘用代码写出来,而地图又要能连接起来,不能断掉,地图上要有每个关卡的图例,也是要用代码显示出来。
/// <summary>
/// 绘制标志
/// </summary>
public static void ShowUi()
{
Console.WriteLine("*********************************");
Console.WriteLine("*骑 士 飞 ...
冒泡排序就是每一次排序完之后就在对之后的数进行比较,直到数组里的数按照从大(小)排列,这是一个嵌套的循环,外层是比较趟数的循环,内部循环是数组内的数比较。
class Program
{
static void Main(string[] args)
{
int[] a = { 6, 3, 8, 9, 4 };
Console.WriteLine("排序前");
for (int i = 0; i < a.Length; i++)
{ ...
1.枚举是用户自己的定义的变量类型,我们要指定这个类型所有的值。
语法:
enum 类型名{值1,值2,值3,..........}
枚举是和方法是同一级别的。
枚举的作用:1.限制用户不能随便赋值,只能在枚举中定义的值中选。
2.不需要记每一个值是什么,只需要选择相对应的值。
注意
1)枚举类型时,值不能为int。
2)枚举的类型的变量都可以强制转换int类型。
3)枚举的值在定义时有一个默认编号从0开始。
3.把字符串换成枚举类型
(自枚)(Enum:Parse(typeof(自枚),"待转换字符串"))
例如:
namespace 枚举
{
enum Ge ...
逻辑表达式及闰年表达式
- 博客分类:
- c#面向过程的基础
逻辑表达式的结果是bool类型的,返回值只有两个一个true另一个是false
逻辑表达式的短路问题:
1)在逻辑与中当第一个表达式为false,那么这个整个表达式在这里就终止了,不会在执行第二个表达式。
2)在逻辑或中当第一个表达式为true,那么这个整个表达式在这里就终止了,不会在执行第二个表达式。
闰年的判断表达式
year%400==0||(year%4==0&&year%100!=0)