【问题标题】:Change any string to string with specific size [duplicate]将任何字符串更改为具有特定大小的字符串[重复]
【发布时间】:2015-05-27 06:59:52
【问题描述】:

我有这样的字符串:

azu3zS1YdQBF75qmp4oyi1/ttG6/ikOSkZZCdgAYGw2x8A4YBILnZ6lOhIRNgQJEcH56pqnrb8Y=

我不知道它们的确切长度,所以我想要一个函数来将任何字符串更改为 20 个字符的字符串。

【问题讨论】:

  • 你看过Substring方法吗?
  • 取子串从0到字符串长度到20之间的最小值
  • 我想要一些我可以取回原始字符串而不会丢失它们的东西
  • @amirbt 你不会丢失任何东西。字符串是不可变的。字符串函数总是返回一个新字符串。
  • 非常感谢子字符串的工作,我怎样才能找回原来的字符串

标签: c# string


【解决方案1】:

试试这样:

var x= str== null 
        ? string.Empty 
        : str.Substring(0, Math.Min(20, str.Length));

【讨论】:

  • 非常感谢子字符串的工作,我怎样才能找回原来的字符串
  • @amirbt 您的原始字符串将在str中保持不变
  • @amirbt 你不需要取回它。它仍然存储在str 变量中,而x 变量保存新创建的子字符串。 (或者如果原始字符串的长度为 20 个字符或更少,则两个变量都指向同一个字符串实例。)
  • @phoog 如果长度相同,你确定它会指向同一个实例吗?
  • @Rahul, +1 for Math.Min(...我一直在使用 if 条件来检查。谢谢。
【解决方案2】:

string a = "获取前 20 个字符"; a = a.Substring(0, 20);

【讨论】:

  • 子字符串从零开始。您将失去第一个字符
猜你喜欢
  • 2017-10-09
  • 2020-08-21
  • 2014-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-08
  • 2011-01-07
  • 1970-01-01
相关资源
最近更新 更多