C#将长整型转化为字符串

15

这是我的问题:

我有以下的代码:

static long CountLinesInFile(string f)
{
    long count = 0;
    using (StreamReader r = new StreamReader(f))
    {
        string line;
        while ((line = r.ReadLine()) != null)
        {
            count++;
        }
    }
    return count;
}

这个问题是关于如何计算文本文件的行数。我遇到的问题是当我尝试以下内容时:

textBox1.Text = CountLinesInFile("test.txt");

我遇到一个错误:

Error   1   Cannot implicitly convert type 'long' to 'string'

这看起来很正常,但我应该如何将它转换为字符串?在Java中,这很简单,只需使用toString()方法。

有人能给我一个解决方案吗?


3
可以尝试使用.ToString()方法。 - V4Vendetta
8
你甚至知道Java中的方法名,但却没有查看C#中是否有类似的方法(toString()ToString())。 - Tim Schmelter
这个回答解决了你的问题吗?编译器错误信息:无法隐式将类型 'long' 转换为 'string' - TylerH
7个回答

31

使用ToString()方法,像这样:

textBox1.Text = CountLinesInFile("test.txt").ToString();

值得一提的有趣细节是 ToString 使用了 CurrentCulture,这可能会根据操作系统语言而改变。为了获得一致的输出,应该提供文化设置。 - RedX

9
在Java中,它就是一个简单的 .ToString方法。
而在C#中,它就是简单的 .ToString() 方法。
祝学习愉快。

5

只需编写

textBox1.Text =(CountLinesInFile("test.txt")).ToString(); 

MSDN: Object.ToString方法 - 返回表示当前对象的字符串。


0
尝试这个:textBox1.Text = CountLinesInFile("test.txt").ToString();

0

有不同的方法将长整型转换为字符串。

  1. 使用 .ToString()

    long testField = 100; string stringEquivalent = testField.ToString();

  2. 使用 string.Format

    long testField = 123; string stringEquivalent = string.Format("{0}", testField);

  3. 使用 Convert.ToString

    long testField = 123; string stringEquivalent = Convert.ToString(testField);

  4. 使用 字符串插值

    long testField = 123; string stringEquivalent = $"{testField}";

  5. 使用 + 运算符

    long testField = 123; string stringEquivalent = "" + testField;

  6. 使用 StringBuilder

    long testField = 123; string stringEquivalent = new StringBuilder().Append(testField).ToString();

  7. 使用 TypeConverter

    TypeConverter converter = TypeDescriptor.GetConverter(typeof(long)); long testField = 123; string stringEquivalent = (string)converter.ConvertTo(testField, typeof(string));


0
你可以像这样使用
long count = 12345;
string s = long.Parse(count, CultureInfo.InvariantCulture);

或者简单地
string s = count.ToStringInvariant();
textBox1.Text = s;

感谢您对Stack Overflow社区做出贡献的兴趣。这个问题已经有了相当多的答案,其中一个答案已经得到社区的广泛验证。您确定您的方法之前没有被提到过吗?如果是这样的话,解释一下您的方法有何不同,什么情况下您的方法可能更好,并且/或者为什么您认为之前的答案不够满意,这将非常有帮助。您可以编辑您的答案并提供解释吗? - undefined

-1

冠军。

我做了这个: “将动态值转换为长整型并转换为字符串”

((long)x.PersonId).ToString();

这不是这个问题的恰当答案。如果您有一个与“动态”相关的不同问题,请将其写下来,并在那里自己回答它。 - mjwills
@mjwills 好的,我可以写 ((long)CountLinesInFile("test.txt")).ToString()。 - CelzioBR

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接