//农历节日
private struct LunarHolidayStruct
{
public int Month;
public int Day;
public int Recess;
public string HolidayName; public LunarHolidayStruct(int month, int day, int recess, string name)
{
Month = month;
Day = day;
Recess = recess;
HolidayName = name;
}
}
//初始化
private static LunarHolidayStruct[] lHolidayInfo = new LunarHolidayStruct[]{
new LunarHolidayStruct(1, 1, 1, "春节"),
new LunarHolidayStruct(1, 15, 0, "元宵节"),
new LunarHolidayStruct(5, 5, 0, "端午节"),
new LunarHolidayStruct(7, 7, 0, "七夕情人节"),
new LunarHolidayStruct(7, 15, 0, "中元节 盂兰盆节"),
new LunarHolidayStruct(8, 15, 0, "中秋节"),
new LunarHolidayStruct(9, 9, 0, "重阳节"),
new LunarHolidayStruct(12, 8, 0, "腊八节"),
new LunarHolidayStruct(12, 23, 0, "北方小年(扫房)"),
new LunarHolidayStruct(12, 24, 0, "南方小年(掸尘)")
};
如何判断一项是否存在?
例如要找:(8,15,0,"中秋节")
private struct LunarHolidayStruct
{
public int Month;
public int Day;
public int Recess;
public string HolidayName; public LunarHolidayStruct(int month, int day, int recess, string name)
{
Month = month;
Day = day;
Recess = recess;
HolidayName = name;
}
}
//初始化
private static LunarHolidayStruct[] lHolidayInfo = new LunarHolidayStruct[]{
new LunarHolidayStruct(1, 1, 1, "春节"),
new LunarHolidayStruct(1, 15, 0, "元宵节"),
new LunarHolidayStruct(5, 5, 0, "端午节"),
new LunarHolidayStruct(7, 7, 0, "七夕情人节"),
new LunarHolidayStruct(7, 15, 0, "中元节 盂兰盆节"),
new LunarHolidayStruct(8, 15, 0, "中秋节"),
new LunarHolidayStruct(9, 9, 0, "重阳节"),
new LunarHolidayStruct(12, 8, 0, "腊八节"),
new LunarHolidayStruct(12, 23, 0, "北方小年(扫房)"),
new LunarHolidayStruct(12, 24, 0, "南方小年(掸尘)")
};
如何判断一项是否存在?
例如要找:(8,15,0,"中秋节")
解决方案 »
- crystalReportViewer去掉竖直滚动条
- C#阻止“任务管理器”结束进程
- 用FileInfo类的Open方法打开指定文件时,为什么不能像双击或者右键点击该文件选“打开”菜单项那样真正地打开文件的界面?怎样才能打开其
- C#界面怎样产生类似于excel表的输入文本格式
- 如何在一个窗体调用另一个窗体的某个控件?
- WebBrowser 操作网页中的FLASH
- 急!大哥来看看。mm实在是没办法了!关于删除 复制 问题!顶的有分呵。。
- DATALIST 如何给headertemplate内的label1.text赋值?
- Crystal report水晶报表怎么实现数据分栏功能?
- 当C#连接SQL时 我希望能在界面上显示程序每一步的状态。。。
- 高人来 !!!winform分辨率的问题!!!!!!
- 求助,c#怎么实现取得时间范围得出具体时间段
List<LunarHolidayStruct> _Test = new List<LunarHolidayStruct>(lHolidayInfo); if (_Test.BinarySearch(1, 10, 0, "厂庆日").ToString() == "") ;
{ }
此语句编译出错!不能运行。
foreach (SolarHolidayStruct sh in sHolidayInfo)
{
if ((sh.Month == 1) && (sh.Day == 10) && (sh.Recess == 0) && (sh.HolidayName == "厂庆日"))
{
bIn = true;
break;
}
}有没有比上面更简单的?
int index=Array.BinarySearch(HolidayInfo,forSearch);
if(index<0)
MessageBox.Show("Not Found!");
{
string li="";
var result=from hol in lHolidayInfo
where hol.HolidayName==str
select hol;
if (result.ToArray().Length==0)
{
li="不存在";
}
else
{
li = "存在";
}
return li;
}
lst.Add(l);
LunarHolidayStruct l=new LunarHolidayStruct(8,15,0,"中秋节");
if(lst.Contains(l))
{
}
建议用这种方法实现,在用Contains的时候记得分清楚一个问题,是值比较还是引用比较另外LZ可以寻找比较优的查找算法,把你的struct写成一个类,实现contains方法,在contains方法中实现算法.