神奇的猴子Mono
来源:互联网 发布:淘宝京东是b2b还是b2c 编辑:程序博客网 时间:2024/05/17 08:34
Mono大家应该听说过吧,是基于UNIX的.NET Framework开发平台。发起人Miguel de Icaza可能大家不是很熟悉,在自由软件世界里可是鼎鼎大名的,是GNOME项目的发起人。
现在Mono还处在测试阶段,最新版为1.0.5,大家可以到[url]http://www.mono-project.com/[/url]下载。虽然只是测试阶段,不过它已经实现了微软.NET Framework中的大部分类库。并且已经有了很漂亮的IDE开发工具,可谓雄心勃勃。
mono可以在各种系统平台上使用。在windows安装很简单,按照提示一步步做就可以了。我也试了在linux下安装(Fedora Core 3),提示和一些软件包不兼容,不过不是大问题。等装好了在和大家说吧。
在windows中安装好后,在开始菜单下就能找到mono。已经带了mono命令行,这样就不用像JAVA一样设置PATH,直接就能使用mono编译器。
下面我们来编译一个C#程序,来感受一下mono。这是一个很简单的C#源码guess.cs,猜数字游戏:
using System;
public class Game
{
private string number;
private static int x,y;
private int count=0;
public void init()
{
do{
Console.WriteLine("Please input number:");
number=Console.ReadLine();
}while(number.Length!=4);
}
public void play()
{
//生成随机数
int [] a = new int [10]; //整形数组
//把0到9十个数字依次填入a[0]到a[9]
for(int i = 0; i < 10; i++)a[i]=i;
//十数字随机打乱
Random ran= new Random();
for(int i=0;i<4;i++)
{
int t=ran.Next()%10;
int s;
s=a[i];
a[i]=a[t];
a[t]=s;
}
//取前四个数字组成四位数做为猜数字的正确答案
string ready= a[0].ToString() + a[1].ToString() + a[2].ToString() + a[3].ToString();
do{
x=0;
y=0;
init();
for(int i=0;i<=3;i++)
{
for(int j=0;j<=3;j++)
{
if(number[i]==ready[j])
{
if(i==j)
++x;
else
++y;
}
}
}
++count;
Console.WriteLine("{0}A{1}B",x.ToString(),y.ToString());
if(count>8)
{
Console.WriteLine("-------------------");
Console.WriteLine("-------------------");
Console.WriteLine("You already lossed");
Console.WriteLine("The right answer is {0}",ready);
Console.WriteLine("-------------------");
Console.ReadLine();
return;
}
}while(number!=ready);
Console.WriteLine("----------------------------");
Console.WriteLine("OK! You are very cleverness!");
Console.WriteLine("----------------------------");
Console.ReadLine();
}
}
public class MyGame
{
public static void Main()
{
Game g=new Game();
g.play();
}
}
其实C#的源码和JAVA非常像。和JAVA一样C#中的每个东西都必须属于一个类。
下面我们来用Mono编译它。在Mono的命令行下输入:mcs guess.cs会生成guess.exe文件,
我们可以在终端输入mono guess.exe来运行程序。奇妙的是用Mono编译的这个guess.exe文件在linux下用Mono也可以运行的!
写这篇文章的目的是因为有很多朋友根本不知道Mono为何物。错过了这么好的编程工具损失太大了!其实Mono需要深入研究的东西太多了,这篇文章只是简单的尝试,Mono项目起源于2001年,其实网上已经有很多关于mono的介绍了。感兴趣的朋友可以搜索一下,有很多精彩的文章。好了就写到这了。等以后有机会把我自己在linux下使用Mono的心得写出来。
现在Mono还处在测试阶段,最新版为1.0.5,大家可以到[url]http://www.mono-project.com/[/url]下载。虽然只是测试阶段,不过它已经实现了微软.NET Framework中的大部分类库。并且已经有了很漂亮的IDE开发工具,可谓雄心勃勃。
mono可以在各种系统平台上使用。在windows安装很简单,按照提示一步步做就可以了。我也试了在linux下安装(Fedora Core 3),提示和一些软件包不兼容,不过不是大问题。等装好了在和大家说吧。
在windows中安装好后,在开始菜单下就能找到mono。已经带了mono命令行,这样就不用像JAVA一样设置PATH,直接就能使用mono编译器。
下面我们来编译一个C#程序,来感受一下mono。这是一个很简单的C#源码guess.cs,猜数字游戏:
using System;
public class Game
{
private string number;
private static int x,y;
private int count=0;
public void init()
{
do{
Console.WriteLine("Please input number:");
number=Console.ReadLine();
}while(number.Length!=4);
}
public void play()
{
//生成随机数
int [] a = new int [10]; //整形数组
//把0到9十个数字依次填入a[0]到a[9]
for(int i = 0; i < 10; i++)a[i]=i;
//十数字随机打乱
Random ran= new Random();
for(int i=0;i<4;i++)
{
int t=ran.Next()%10;
int s;
s=a[i];
a[i]=a[t];
a[t]=s;
}
//取前四个数字组成四位数做为猜数字的正确答案
string ready= a[0].ToString() + a[1].ToString() + a[2].ToString() + a[3].ToString();
do{
x=0;
y=0;
init();
for(int i=0;i<=3;i++)
{
for(int j=0;j<=3;j++)
{
if(number[i]==ready[j])
{
if(i==j)
++x;
else
++y;
}
}
}
++count;
Console.WriteLine("{0}A{1}B",x.ToString(),y.ToString());
if(count>8)
{
Console.WriteLine("-------------------");
Console.WriteLine("-------------------");
Console.WriteLine("You already lossed");
Console.WriteLine("The right answer is {0}",ready);
Console.WriteLine("-------------------");
Console.ReadLine();
return;
}
}while(number!=ready);
Console.WriteLine("----------------------------");
Console.WriteLine("OK! You are very cleverness!");
Console.WriteLine("----------------------------");
Console.ReadLine();
}
}
public class MyGame
{
public static void Main()
{
Game g=new Game();
g.play();
}
}
其实C#的源码和JAVA非常像。和JAVA一样C#中的每个东西都必须属于一个类。
下面我们来用Mono编译它。在Mono的命令行下输入:mcs guess.cs会生成guess.exe文件,
我们可以在终端输入mono guess.exe来运行程序。奇妙的是用Mono编译的这个guess.exe文件在linux下用Mono也可以运行的!
写这篇文章的目的是因为有很多朋友根本不知道Mono为何物。错过了这么好的编程工具损失太大了!其实Mono需要深入研究的东西太多了,这篇文章只是简单的尝试,Mono项目起源于2001年,其实网上已经有很多关于mono的介绍了。感兴趣的朋友可以搜索一下,有很多精彩的文章。好了就写到这了。等以后有机会把我自己在linux下使用Mono的心得写出来。
- 神奇的猴子Mono
- Mono:从猴子到齐天大圣?
- Mono v1.2.51 - 开源版本的.NET框架,Mono,Mono下载,Mono框架开发,Mono学习,Mono是什么,Mono浅谈,Mono研究
- 论Mono的意义
- MONO最近的情况
- Ubuntu下的MONO
- Unity3D的Mono是什么
- MONO的体系结构图
- Unity3D的Mono是什么
- Mono
- Mono
- mono
- Mono
- Mono
- Mono
- MONO
- 有趣的“猴子管理”
- 猴子的红屁股
- The permit
- [技术对话]从项目管理到咨询服务,到度量计算
- 十大不良习惯损害大脑
- 数学的Romance
- 深入探究INF的秘密
- 神奇的猴子Mono
- 子网掩码入门之简述
- 2000/XP详细进程表
- 双绞线的标准接法
- IE浏览器八大经典故障写真集
- 分区基础
- 深入透析样式表滤镜
- 一个简单而且完善的html表单操作类
- Window.Open详解