You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中Windows Forms可用Strings.Right,控制台项目编译报错

解决C#项目中Strings.Right不存在的问题

嘿,这个问题我之前也帮人排查过,其实核心原因不是你没加using Microsoft.VisualBasic;,而是你的项目没有引用Microsoft.VisualBasic程序集。

为什么原来的WinForms项目能用?

老的Windows Forms项目可能默认就引用了这个程序集(毕竟早期.NET框架里WinForms和VB的关联比较紧密),但新创建的WinForms项目或者控制台项目,默认是不会自动引用它的——哪怕你加了using语句,编译器找不到对应的程序集,还是会报错。

两种解决办法

1. 手动添加程序集引用

这是最直接的办法,步骤很简单:

  • 在解决方案资源管理器里右键你的项目,选择「添加」→「引用」
  • 在弹出的引用管理器里,切换到「框架」标签(如果是.NET Framework项目),或者在「程序集」分类里找到Microsoft.VisualBasic
  • 勾选它,点击「确定」,之后再编译就不会报错了

2. 用C#原生代码替代Strings.Right

如果你不想依赖VB的程序集,其实可以自己实现类似的功能,更符合C#的编码习惯。比如写个字符串扩展方法:

public static class StringExtensions
{
    public static string Right(this string input, int length)
    {
        if (string.IsNullOrEmpty(input))
            return input;
            
        length = Math.Abs(length);
        return length >= input.Length ? input : input.Substring(input.Length - length);
    }
}

之后你就可以像用Strings.Right一样调用:yourString.Right(5),完全不需要引用VB的库。

内容的提问来源于stack exchange,提问作者Doug Null

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:37:32