VB.net-->C#
2004-05-26 16:48
197 查看
最近在看书时看到一段VB.Net的代码.
Select Case itemType
Case ListItemType.Header
cell.Text = HeaderText
Case ListItemType.Item, ListItemType.AlternatingItem
AddHandler cell.DataBinding, AddressOf ItemDataBinding
Case ListItemType.EditItem
AddHandler cell.DataBinding, AddressOf EditItemDataBinding
Dim DDL As New DropDownList
cell.Controls.Add(DDL)
End Select
想把这段代码翻译成C#,碰到了两个问题.一,当使用开关语句时,符合两种情况执行相同的代码,VB.net中用个逗号分隔就OK了( Case ListItemType.Item, ListItemType.AlternatingItem),而C#中似乎没有这种写法.今天偶然看到一段代码,发现连写连个case中间不加break就OK了.二,关于AddHandler cell.DataBinding, AddressOf ItemDataBinding的含义,在查找资料后发现是VB中关联事件和方法的写法,类似C#中的事件订阅.翻译后的C#代码如下:
switch (itemType)
{
case ListItemType.Header:
{
cell.Text=HeaderText;
break;
}
case (ListItemType.Item):
case(ListItemType.AlternatingItem):
{
cell.DataBinding += new System.EventHandler(ItemDataBinding);
break;
}
// case(ListItemType.AlternatingItem):
// {
// cell.DataBinding += new System.EventHandler(ItemDataBinding);
// break;
// }
case(ListItemType.EditItem):
{
cell.DataBinding += new System.EventHandler(EditItemDataBinding);
DropDownList ddl=new DropDownList();
cell.Controls.Add(ddl);
break;
}
}
不知道大家有没有更好的写法,
Select Case itemType
Case ListItemType.Header
cell.Text = HeaderText
Case ListItemType.Item, ListItemType.AlternatingItem
AddHandler cell.DataBinding, AddressOf ItemDataBinding
Case ListItemType.EditItem
AddHandler cell.DataBinding, AddressOf EditItemDataBinding
Dim DDL As New DropDownList
cell.Controls.Add(DDL)
End Select
想把这段代码翻译成C#,碰到了两个问题.一,当使用开关语句时,符合两种情况执行相同的代码,VB.net中用个逗号分隔就OK了( Case ListItemType.Item, ListItemType.AlternatingItem),而C#中似乎没有这种写法.今天偶然看到一段代码,发现连写连个case中间不加break就OK了.二,关于AddHandler cell.DataBinding, AddressOf ItemDataBinding的含义,在查找资料后发现是VB中关联事件和方法的写法,类似C#中的事件订阅.翻译后的C#代码如下:
switch (itemType)
{
case ListItemType.Header:
{
cell.Text=HeaderText;
break;
}
case (ListItemType.Item):
case(ListItemType.AlternatingItem):
{
cell.DataBinding += new System.EventHandler(ItemDataBinding);
break;
}
// case(ListItemType.AlternatingItem):
// {
// cell.DataBinding += new System.EventHandler(ItemDataBinding);
// break;
// }
case(ListItemType.EditItem):
{
cell.DataBinding += new System.EventHandler(EditItemDataBinding);
DropDownList ddl=new DropDownList();
cell.Controls.Add(ddl);
break;
}
}
不知道大家有没有更好的写法,
相关文章推荐
- [C#.NET][VB.NET] Winform 應用程式等級的例外捕捉 / Winform of Application Level wicth Exception Catch(转载)
- C#/VB.NET 给Word文档添加/撤销书签
- VB.NET and C# 比较
- VB.net 跟 C# 的代码转换
- c#(或vb.net)程序改进
- VB.NET与C#语法对比
- C# and VB.NET Comparison Cheat Sheet
- 设置cookie关闭浏览器时失效的2种方法。vb.net C#.net
- 国际:.NET的未来和VB、C#的前路
- vb.net和C#.net读取EXCEL
- vb.net、C#对照表
- VB.NET and C# 语法比较手册
- C#/VB.Net converter
- 在线工具--把C#代码、VB.NET代码 互转
- .NET(C#、VB)移动开发——Smobiler平台控件介绍:TextTabBar控件
- 编程 解压rar文件(适用C# VB.NET 和C++)
- 从封装性来分析vb.net和C#两兄弟的差异
- VB.Net C# 和Java知识汇总(一)
- 选择VB.Net还是C#
- C# 用 VB.net 函數庫 實現全角與半角轉換