求高手将这段VB代码翻译成C#

lgrg123 2012-04-23 12:51:15
public string jiemi(string PlainStr, string key)
{
string str3;
int start = 1;
if ((Strings.Len(PlainStr) % 2) == 0)
{
string str4 = Strings.StrReverse(Strings.Left(PlainStr, (int) Math.Round

((double) (((double) Strings.Len(PlainStr)) / 2.0))));
string str5 = Strings.StrReverse(Strings.Right(PlainStr, (int) Math.Round

((double) (((double) Strings.Len(PlainStr)) / 2.0))));
PlainStr = str4 + str5;
}
int num3 = Strings.Len(PlainStr);
for (int i = 1; i <= num3; i++)
{
string str6 = Strings.Mid(PlainStr, i, 1);
string str2 = Strings.Mid(key, start, 1);
if (((((Strings.Asc(str6) ^ Strings.Asc(str2)) < 0x20) | ((Strings.Asc(str6)

^ Strings.Asc(str2)) > 0x7e)) | (Strings.Asc(str6) < 0)) | (Strings.Asc(str6) >

0xff))
{
str3 = str3 + str6;
}
else
{
str3 = str3 + StringType.FromChar(Strings.Chr(Strings.Asc(str6) ^

Strings.Asc(str2)));
}
if (start == Strings.Len(key))
{
start = 0;
}
start++;
}
return str3;
}




...全文
182 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
l576981437 2012-04-23
  • 打赏
  • 举报
回复
同LS
孟子E章 2012-04-23
  • 打赏
  • 举报
回复
这不是VB代码
无名小猿 2012-04-23
  • 打赏
  • 举报
回复
显然不是VB,
lixiao_445 2012-04-23
  • 打赏
  • 举报
回复
这个本身就是C#代码了,是不是要转成VB啊?
allen0118 2012-04-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
这不是VB代码
[/Quote]

+1
cf_nxcxy 2012-04-23
  • 打赏
  • 举报
回复
难道是c#转vb???
bigbaldy 2012-04-23
  • 打赏
  • 举报
回复
这个就是C#代码呀,Microsoft.VisualBasic名称空间下的,楼主自己照着msdn转吧,很容易的
mizuho_2006 2012-04-23
  • 打赏
  • 举报
回复
VB语句没有分号的。而且定义变量时DIM
orochiheart 2012-04-23
  • 打赏
  • 举报
回复
同LS
Reflector是由微软员工Lutz Roeder编写的免费程序。Reflector的出现使.NET程序员眼前豁然开朗,因为这个免费工具可以将.NET程序集中的中间语言反编译成C#或者Visual Basic代码。除了能将IL转换为C#或Visual Basic以外,Reflector还能够提供程序集中类及其成员的概要信息、提供查看程序集中IL的能力以及提供对第三方插件的支持。 reflector诞生   程序集,作为.NET时代的动态链接库,蕴藏了太多的软件秘密。为此,Visual Studio内置的ILDASM成为最初挖掘程序集的上佳工具。但自从Reflector出现后,ILDASM相形见绌。因为,Reflector能提供更多的程序集信息,而且是免费的工具。   如今,在Visual studio中编译源代码(无论是VB还是C#)时,编译器都会将高级源代码翻译成MSIL,即“微软中间语言”,而不是特定的机器指令。具有更多安全性、版本控制、共享能力与其它相关元数据的中间语言(IL),是包在一个或多个DLL或可执行文件中的。   基于ILDASM检查程序集中的IL有时很有用,但它要我们熟悉MSIL。通常,比起IL,大多数开发人员对像C#或Visual Basic这样的高级程序设计语言更为熟悉。   Reflector的出现使.NET程序员眼前豁然开朗,因为这个免费工具可以将.NET程序集中的中间语言反编译成C#或者Visual Basic代码。除了能将IL转换为C#或Visual Basic以外,Reflector还能够提供程序集中类及其成员的概要信息、提供查看程序集中IL的能力以及提供对第三方插件的支持。 编辑本段 下载与运行   这个软件经常更新,可以在本词条提供的扩展阅读提供的链接中下载最新的版本。 默认情况下,Reflector会打开一组公共程序集(mscorlib、System、System.Data、System.Drawing等等)。每个打开的程序集都列在Reflector的主窗口中。单击程序集旁边的+图标可以展开树结构并展示程序集的命名空间。每个命名空间旁边都有一个相关的+图标,单击这个图标将显示这个命名空间内的类。除此以外,还可以展开每个类,显示类的成员:事件、字段、方法与属性。   要想查看其它程序集(包括我们自己创建的程序集)的细节,你可以使用菜单命令“File→Open”。然后,浏览到想要查看的程序集。只要选择了有效的.NET程序集,这个程序集就可以在Reflector的主窗口中与其它默认程序集共同显示。要想从Reflector的主窗口中删除程序集,只需右击程序集并选择“Close”。 提供基本的程序集是Reflector唾手可得的功能,然而,Reflector真正的威力体现在它的反汇编能力。只要浏览到类级的成员,就可以通过Tools菜单中的Disassembler项(或在该项上单击右键)反汇编此成员。这将打开第二个窗格,以C#、Visual Basic、Delphi或者IL显示反汇编后的内容。有了Reflector的反编译功能,要研究.NET框架基类库就容易多了。我们完全可以在没有源代码的情况下研究我们所创建或者正在使用的程序集相应源代码。   不用太担心,自己的.NET应用程序还有其它受保护措施。但是,想阻止别人查看.NET程序集的IL(继而反编译成C#或者Visual Basic)是不可能的,但你可以使用“混淆”技术使IL变得混乱。目前,市场上有许多.NET混淆产品,比如:PreEmptive Solution的Dotfuscator、WiseOwl的Dmeanor以及Remotesoft的.NET Obfuscator等。 编辑本段 其他功能   除了作为对象浏览器与反汇编器之外,Reflector还可以显示类与其成员的调用与被调用图、提供单键访问Google或MSDN搜索的能力并提供了允许第三方开发人员为Reflector创建插件的框架。   要查看调用或被调用图,只需要在树视图中选择一个成员,访问Tools菜单,选择Call Graph或Callee Graph选项即可。Call Graph会列出所选项所调用的成员,而Callee Graph列出调用所选项的成员。   通过使用插件,Reflector的功能可以得到进一步扩展。目前有能显示程序集依赖图、自动加载当前运行中的程序集、输出整个程序集的反汇编内容以及在Visual Studio中作为Reflector的宿主等的插件。还有更多插件都列本词条扩展阅读中。在此,我极力推荐有兴趣的读者前去一看。   不出乎所料,的确存在一个Reflector.VisualStudio插件。有了这个插件,就可以让Reflector集成在Visual Studio环境中,进而取代以前那个有些“拙漏”的对象浏览器。   首先,我们需要在机器上准备Reflector的最新版,然后下载最新版本的Reflector.VisualStudio插件。据说安装了此插件之后,Reflector能够与Visual Studio完美融合。但遗憾的是,有人试下载此软件并安装(仅能得到testdriven-2.8.2130 RTM个人测试版本,时间7/30/2007,大小3.3M)后,没有大发现—仅是在VS2005中添加“Go to Reflector”和一个帮助菜单项。点击“Go to Reflector”菜单项仅是从VS2005内部启动Reflector而已。   Reflector最新版本收费   现在打开Reflector的老版本要强制更新到最新版本,最新版本收费.现在网上很少有破解版本了

111,119

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧