a 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。

int[] intArr=new int[100]; 
ArrayList myList=new ArrayList(); 
Random rnd=new Random(); 
while(myList.Count<100) 
{ 
int num=rnd.Next(1,101); 
if(!myList.Contains(num)) 
myList.Add(num); 
} 
for(int i=0;i<100;i++) 
intArr[i]=(int)myList[i];
       20.请叙述类与结构的区别。
  1)、结构是值类型;
  2)、结构不支持继承;
  3)、结构不能定义默认的构造函数;
  4)、结构不能定义析构函数;
  5)、结构不能使用初始值设置域值。

在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?

Using 引入一个名子空间,或在使用了一个对像后自动调用其IDespose,New 实例化一个对像,或修饰一个方法,表此方法完全重写此方法
2.在下面的例子里
using System;
class A
{
public A(){
PrintFields();
}
public virtual void PrintFields(){}
}
class B:A
{
int x=1;
int y;
public B(){
y=-1;
}
public override void PrintFields(){
Console.WriteLine("x={0},y={1}",x,y);
}
当使用new B()创建B的实例时,产生什么输出?X=1,Y=0
3.下面的例子中using System;
class A
{
public static int X;
static A(){
X=B.Y+1;
}
}
class B
{
public static int Y=A.X+1;
static B(){}
static void Main(){
Console.WriteLine("X={0},Y={1}",A.X,B.Y);
}
}
产生的输出结果是什么?x=1,y=2

76.C#代码实现,确保windows程序只有一个实例(instance)

 

    ///<summary>       
 ///应用程序的主入口点。      
  ///</summary>   
     [STAThread]     
   staticvoid Main()     
    {          
  //防止程序多次运行        
    if(!OneInstance.IsFirst("GetPayInfo"))      
      {            
    MessageBox.Show ("警告:程序正在运行中! 请不要重复打开程序!可在右下角系统栏找到!","程序错误提示:",MessageBoxButtons.OK,MessageBoxIcon.Stop);          
      return;       
     }         
   Application.Run(new Form1());      
  }

   // ******************* 防止程序多次执行
  publicabstractclass OneInstance     
    {         
    ///<summary>    
    ///判断程序是否正在运行            
   ///</summary>           
   ///<param name="appId">程序名称</param>  
   ///<returns>如果程序是第一次运行返回True,否则返回False</returns>    
        
publicstaticbool IsFirst(string appId)            
 {            
     bool ret=false;     
            
if(OpenMutex(0x1F0001,0,appId)==IntPtr.Zero)                
 {               
      CreateMutex(IntPtr.Zero,0,appId);   
                  ret=true;         
        }       
          return ret;     
}  


     [DllImport("Kernel32.dll",CharSet=CharSet.Auto)]  

           privatestaticextern IntPtr OpenMutex(         
        uint dwDesiredAccess, // access         
        int bInheritHandle,    // inheritance option     
            string lpName          // object name          
       ); 
       [DllImport("Kernel32.dll",CharSet=CharSet.Auto)]             privatestaticextern IntPtr CreateMutex(            
     IntPtr lpMutexAttributes, // SD         
        int bInitialOwner,         // initial owner         
        string lpName        // object name           
      );       
  } 

 94、列举ASP.NET 页面之间传递值的几种方式。 

 

答. 1.使用QueryString,

      源页面

      string url;

       url="anotherwebform.aspx?name=" + TextBox1.Text

       Response.Redirect(url);

      目标页面

       Label1.Text=Request.QueryString["name"];

     2.使用Session变量

      源页面

      Session["name"]=TextBox1.Text;

      Session["email"]=TextBox2.Text;

      Server.Transfer("anotherwebform.aspx");

     目标页面

      Label1.Text=Session["name"].ToString();

      Label2.Text=Session["email"].ToString();

      Session.Remove("name");

      Session.Remove("email");

     3.使用Server.Transfer

      源页面代码:

    public string Name

{

get {

return TextBox1.Text; }

}

//然后调用Server.Transfer方法

private void Button1_Click

(object sender, System.EventArgs e)

{

Server.Transfer("anotherwebform.aspx");

}

     目标页面代码:

private void Page_Load

(object sender, System.EventArgs e)

{ 

WebForm1 wf1;

wf1=(WebForm1)Context.Handler;

Label1.Text=wf1.Name;

}

 

95、一列数的规则如下: 1、1、2、3、5、8、13、21、34......   求第30位数是多少, 用递归算法实现。

 

答:public class MainClass 

     { 

         public static void Main()   

         { 

             Console.WriteLine(Foo(30)); 

         } 

         public static int Foo(int i) 

         { 

             if (i <= 0) 

                 return 0; 

             else if(i > 0 && i <= 2) 

                 return 1; 

             else return Foo(i -1) + Foo(i - 2); 

         } 

     } 

 

97、请编程遍历页面上所有TextBox控件并给它赋值为string.Empty?

 

      foreach (System.Windows.Forms.Control control in this.Controls)

       {

if (control is System.Windows.Forms.TextBox)

{

     System.Windows.Forms.TextBox tb = (System.Windows.Forms.TextBox)control ;

     tb.Text = String.Empty ;

}

       }

 

98、请编程实现一个冒泡排序算法?

 

int [] array = new int [*] ;

int temp = 0 ;

for (int i = 0 ; i < array.Length - 1 ; i++)

{

for (int j = i + 1 ; j < array.Length ; j++)

{

if (array[j] < array[i])

{

temp = array[i] ;

array[i] = array[j] ;

array[j] = temp ;

}

}

}


第二种
using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text;
namespace 冒泡排序
 {      
class Program     
{          
          /// <summary>          
          /// 交换两个整型变量的值 
       /// </summary> 
          /// <param name="a">要交换的第一个整形变量</param>
          /// <param name="b">要交换的第一个整形变量</param>         private static void Reverse(ref int a, ref int b)        
 {
            int temp = a; 
            a = b; 
            b = temp; 
        }
static void Main(string[] args) 
        {  
            while (true) 
            { 
                    string[] strInput;//用来接收用户输入的字符串
              int[] intInput; 
                    string[] separator = { ",", " " };//设置分隔符                  Console.WriteLine("请输入数据,以\",\"或空格分隔,或按\"q\"退出。");
string str = Console.ReadLine();//接收键盘输入 
                if (str == "q") 
                { 
                     return;  
               } 
                 strInput = str.Split(separator, StringSplitOptions.RemoveEmptyEntries);//将用户输入的字符串分割为字符串数组 
intInput = new Int32[strInput.Length]; 
                  //将字符串数组的每一个元素转换为整型变量
            //转换时如果出现格式错误或溢出错误则提示
                 try 
                { 
                     for (int i = 0; i < strInput.Length; i++)  
                   { 
                         intInput[i] = Convert.ToInt32(strInput[i]); 
                    }
                 } 
                 catch (FormatException err)
                 {
                      Console.WriteLine(err.Message);
                 }
                  catch(OverflowException err)
                 { 
                     Console.WriteLine(err.Message); 
                } 
          //排序算法主体 
                 for (int i = 0; i < intInput.Length - 1; i++)//这里的Length要减1否则会超界
                 {
                      for (int j = 0; j < intInput.Length - i - 1; j++)//这里的Length要减i以减少重复运算
                     {
                          //如果元素j比它之后的一个元素大,则交换他们的位置                  //如此循环直到遍历完整个数组
                         if (intInput[j] > intInput[j + 1])
                         {
                              Reverse(ref intInput[j], ref intInput[j + 1]); 
                        }
                     } 
                } 
string strOutput = "";//用于输出的字符串
                 foreach (int temp in intInput)
                 {
                      strOutput += Convert.ToString(temp) + ",";
 }
                  Console.WriteLine("排序后的数据为:\r\n{0}\r\n", strOutput); 
            } 
        }
     }
 } 

 


 

 

 

 

 

 

 

 

 

 

 

posted @ 2013-09-15 20:31  博斯芮网络科技  阅读(484)  评论(0编辑  收藏  举报