以下代码编译时提示 —— 找不到类型或命名空间名称“CompareOp”(是否缺少 using 指令或程序集引用?)
请问CompareOp类型的命名空间是什么?
using System;
using System.Collections.Generic;
using System.Text;namespace test1
{
class Program
{
//定义一个委托
delegate bool ConpareOp( object lhs, object rhs ); static void Main()
{
//初始化一个学生数组
Student[] students =
{
new Student("Zhang",86),
new Student("Li",75),
new Student("Wang",93),
new Student("zhao",68),
new Student("Zhao",76),
new Student("Ning",98),
new Student("Mu",46),
new Student("Liu",53),
new Student("Jia",100),
new Student("Pan",83)
}; //使用RhsIsGreater方法进行比较,并用Sort方法排序
CompareOp studentCompareOp = new CompareOp( Student.RhsIsGreater );
ScoreSort.Sort( students, studentCompareOp ); //循环输出所有学生的已排序成绩
for(int i = 0; i < students.Length; i++)
{
Console.WriteLine( students[ i ].ToString() );
} Console.ReadLine();
}
} /// <summary>
/// 排序类,方法Sort为静态方法,使用冒泡法
/// </summary>
class ScoreSort
{
/// <summary>
/// 冒泡法排序
/// </summary>
/// <param name="sortArray">要进行排序的数组</param>
/// <param name="Method">排序的方法</param>
static public void Sort( object[] sortArray, CompareOp Method )
{
//外围第1次循环
for(int i = 0; i < sortArray.Length; i++)
{
//第2次循环
for(int j = i + 1; j < sortArray.Length; j++)
{
//比较大小并交换
if(Method( sortArray[ j ], sortArray[ i ] ))
{
object temp = sortArray[ i ];
sortArray[ i ] = sortArray[ j ];
sortArray[ j ] = temp;
}
}
}
}
} /// <summary>
/// 学生类
/// </summary>
class Student
{
/// <summary>
/// 姓名字段
/// </summary>
private string name; /// <summary>
/// 成绩字段
/// </summary>
private decimal score; /// <summary>
/// Student类的构造函数
/// </summary>
/// <param name="name">姓名</param>
/// <param name="score">成绩</param>
public Student( string name, decimal score )
{
this.name = name;
this.score = score;
} /// <summary>
/// 比较方法RhsIsGreater
/// </summary>
/// <param name="lhs">左侧学生对象</param>
/// <param name="rhs">右侧学生对象</param>
/// <returns>右侧学生对象高则返回true</returns>
public static bool RhsIsGreater( object lhs, object rhs )
{
Student studentL = ( Student ) lhs;
Student studentR = ( Student ) rhs;
return (studentR.score > studentL.score) ? true : false;
} /// <summary>
/// 重写ToString方法,可以使得输出更加清晰
/// </summary>
/// <returns>预定义格式的输出</returns>
public override string ToString()
{
return string.Format( name + ":" + score );
}
}
}
请问CompareOp类型的命名空间是什么?
using System;
using System.Collections.Generic;
using System.Text;namespace test1
{
class Program
{
//定义一个委托
delegate bool ConpareOp( object lhs, object rhs ); static void Main()
{
//初始化一个学生数组
Student[] students =
{
new Student("Zhang",86),
new Student("Li",75),
new Student("Wang",93),
new Student("zhao",68),
new Student("Zhao",76),
new Student("Ning",98),
new Student("Mu",46),
new Student("Liu",53),
new Student("Jia",100),
new Student("Pan",83)
}; //使用RhsIsGreater方法进行比较,并用Sort方法排序
CompareOp studentCompareOp = new CompareOp( Student.RhsIsGreater );
ScoreSort.Sort( students, studentCompareOp ); //循环输出所有学生的已排序成绩
for(int i = 0; i < students.Length; i++)
{
Console.WriteLine( students[ i ].ToString() );
} Console.ReadLine();
}
} /// <summary>
/// 排序类,方法Sort为静态方法,使用冒泡法
/// </summary>
class ScoreSort
{
/// <summary>
/// 冒泡法排序
/// </summary>
/// <param name="sortArray">要进行排序的数组</param>
/// <param name="Method">排序的方法</param>
static public void Sort( object[] sortArray, CompareOp Method )
{
//外围第1次循环
for(int i = 0; i < sortArray.Length; i++)
{
//第2次循环
for(int j = i + 1; j < sortArray.Length; j++)
{
//比较大小并交换
if(Method( sortArray[ j ], sortArray[ i ] ))
{
object temp = sortArray[ i ];
sortArray[ i ] = sortArray[ j ];
sortArray[ j ] = temp;
}
}
}
}
} /// <summary>
/// 学生类
/// </summary>
class Student
{
/// <summary>
/// 姓名字段
/// </summary>
private string name; /// <summary>
/// 成绩字段
/// </summary>
private decimal score; /// <summary>
/// Student类的构造函数
/// </summary>
/// <param name="name">姓名</param>
/// <param name="score">成绩</param>
public Student( string name, decimal score )
{
this.name = name;
this.score = score;
} /// <summary>
/// 比较方法RhsIsGreater
/// </summary>
/// <param name="lhs">左侧学生对象</param>
/// <param name="rhs">右侧学生对象</param>
/// <returns>右侧学生对象高则返回true</returns>
public static bool RhsIsGreater( object lhs, object rhs )
{
Student studentL = ( Student ) lhs;
Student studentR = ( Student ) rhs;
return (studentR.score > studentL.score) ? true : false;
} /// <summary>
/// 重写ToString方法,可以使得输出更加清晰
/// </summary>
/// <returns>预定义格式的输出</returns>
public override string ToString()
{
return string.Format( name + ":" + score );
}
}
}
解决方案 »
- 怎么学习自己写程序啊?我只会粘贴复制
- VS 只要一创建windows服务项目就重启
- 用asp.net做网站,用母版页对网站优化来讲好不好?
- 求教:C#中关于system.ArrayList的相关问题
- 为什么我的DataGrid 添加的delete按钮,运行的时候不管用?(webform)
- 菜鸟急啊``邮件定时发
- 觅.Net高级工程师
- 关于ListView的插入顺序问题,简单问题,谢谢大家了
- C#如何更改IIS用户权限
- 那位能告诉我vss的最新版本是什么?
- Win32API如何获得MenuStrip和ContextMenuStrip的句柄
- 大家觉得wrox的红皮书和o‘reilly的动物书哪个好一些? 我觉得wrox的书普遍都...
CompareOp
delegate bool CompareOp( object lhs, object rhs );
class Program
{
...
[/code]
using System.Collections.Generic;
using System.Text;namespace test1
{
class Program
{
//定义一个委托
delegate bool CompareOp( object lhs, object rhs ); static void Main()
{
//初始化一个学生数组
Student[] students =
{
new Student("Zhang",86),
new Student("Li",75),
new Student("Wang",93),
new Student("zhao",68),
new Student("Zhao",76),
new Student("Ning",98),
new Student("Mu",46),
new Student("Liu",53),
new Student("Jia",100),
new Student("Pan",83)
}; //使用RhsIsGreater方法进行比较,并用Sort方法排序
CompareOp studentCompareOp = new CompareOp( Student.RhsIsGreater );
ScoreSort.Sort( students, studentCompareOp ); //循环输出所有学生的已排序成绩
for(int i = 0; i < students.Length; i++)
{
Console.WriteLine( students[ i ].ToString() );
} Console.ReadLine();
}
} /// <summary>
/// 排序类,方法Sort为静态方法,使用冒泡法
/// </summary>
class ScoreSort
{
/// <summary>
/// 冒泡法排序
/// </summary>
/// <param name="sortArray">要进行排序的数组</param>
/// <param name="Method">排序的方法</param>
//此处的CompareOp 提示错误
static public void Sort( object[] sortArray, CompareOp Method )
{
//外围第1次循环
for(int i = 0; i < sortArray.Length; i++)
{
//第2次循环
for(int j = i + 1; j < sortArray.Length; j++)
{
//比较大小并交换
if(Method( sortArray[ j ], sortArray[ i ] ))
{
object temp = sortArray[ i ];
sortArray[ i ] = sortArray[ j ];
sortArray[ j ] = temp;
}
}
}
}
} /// <summary>
/// 学生类
/// </summary>
class Student
{
/// <summary>
/// 姓名字段
/// </summary>
private string name; /// <summary>
/// 成绩字段
/// </summary>
private decimal score; /// <summary>
/// Student类的构造函数
/// </summary>
/// <param name="name">姓名</param>
/// <param name="score">成绩</param>
public Student( string name, decimal score )
{
this.name = name;
this.score = score;
} /// <summary>
/// 比较方法RhsIsGreater
/// </summary>
/// <param name="lhs">左侧学生对象</param>
/// <param name="rhs">右侧学生对象</param>
/// <returns>右侧学生对象高则返回true</returns>
public static bool RhsIsGreater( object lhs, object rhs )
{
Student studentL = ( Student ) lhs;
Student studentR = ( Student ) rhs;
return (studentR.score > studentL.score) ? true : false;
} /// <summary>
/// 重写ToString方法,可以使得输出更加清晰
/// </summary>
/// <returns>预定义格式的输出</returns>
public override string ToString()
{
return string.Format( name + ":" + score );
}
}
}