草庐IT

c# - 在 C# 中将字符串/整数转换为上标

是否有内置的.NET函数或简单的转换方法:"01234"到:"\u2070\u00B9\u00B2\u00B3\u2074"请注意,上标1、2和3不在\u2070-\u209F范围内但是\u0080-\u00FF. 最佳答案 编辑:我没有注意到上标字符不像\u2070-\u2079那么简单。您可能想要设置字符之间的映射。如果你只需要数字,你可以很容易地索引到一个字符串中:conststringSuperscriptDigits="\u2070\u00b9\u00b2\u00b3\u2074\u2075\u2076\u2077\u20

c# - 整数格式,填充到给定长度

我需要将整数的输出填充到给定的长度。例如,长度为4位,整数4的输出是“0004”而不是“4”。我如何在C#2.0中执行此操作? 最佳答案 使用string.Format命令。output=String.Format("{0:0000}",intVariable);更多详情:http://msdn.microsoft.com/en-us/library/fht0f5be.aspx 关于c#-整数格式,填充到给定长度,我们在StackOverflow上找到一个类似的问题:

c# - 用两个标准排序,字符串升序,整数升序

如何根据两个不同的条件进行排序?例如,我有如下人员对象:Person具有属性FirstName(字符串),LastName,和Rank(整数)。示例数据如下:XavierSmith1AlexanderSmith2AlexanderSmith1BobHawke2它应该按名字字母顺序排序,然后按等级排序,例如结果:AlexanderSmith1AlexanderSmith2BobHawke2XavierSmith1到目前为止,我已经尝试了以下方法,但它无法正常工作:peopleList是ListpeopleList.Sort(newComparison((x,y)=>x.Rank.Comp

c# - 按值对字典(字符串,整数)进行排序

所以基本上我对交给我的任务有疑问。我不会让您厌烦任务本身的细节,所以我只会为您提供相关信息。我有一本字典,我需要按最高的int[value]排序,准确地说是前五名,我还需要能够显示后五名。Dictionarydict=newDictionary();字符串(键)包含已为文本文件读取的单词。整数(值)保存它们在文档中被提及的次数。我本来打算用另一种方式来做,但有人告诉我要用字典来做,所以请字典帮忙。如果您能解释应该如何完成,我将不胜感激,这样我就可以学习并完成任务,因为该任务的目的是self教育,但我发现它有点困难..非常感谢您提前提供的所有帮助,如果需要更多信息,请告诉我,我会发布!

c# - 为什么编译器允许将 Convert.ToString() 分配给整数?

我不小心在我的代码中偶然发现了类似于下面的东西,它编译得很好,但在运行时显然是炸弹:dynamicfiftySixDynamic=56;intfiftySixInt=System.Convert.ToString(fiftySixDynamic);Convert.ToString()的每次重载都会返回一个字符串,所以这肯定不应该编译?这是怎么回事? 最佳答案 您正在使用dynamic作为Convert.ToString的输入。因为输入是动态,方法绑定(bind)和类型检查被推迟到运行时,所以编译器看不到唯一可能的返回类型是strin

c# - 一组超过 2 个整数的最大公约数

StackOverflow上有几个问题讨论如何找到两个值的最大公约数。一个好的答案显示了一个整洁的recursivefunction来做到这一点。但是如何找到一组超过2个整数的GCD?我似乎找不到这方面的例子。谁能推荐最有效的代码来实现这个功能?staticintGCD(int[]IntegerSet){//whatgoeshere?} 最佳答案 这里有使用链接问题中的LINQ和GCD方法的代码示例。它使用其他答案中描述的理论算法......GCD(a,b,c)=GCD(GCD(a,b),c)staticintGCD(int[]nu

c# - 如何对整数的各个数字求和?

我有一个整数值(例如:723),我想将这个整数中的所有值相加,直到得到一个值。ex:7+2+3=121+2=3我是C#新手。请给我一个很好的答案解释:) 最佳答案 尽管取出底部数字并除以10的解决方案是正确的并且清楚地实现了所需的功能,但如果您知道诀窍,则可以用远更少的代码完成此任务。如果按照您描述的方式对数字求和,直到得到一位数,您得到的结果是原始数字除以9的余数。尝试一下。789-->7+8+9=24-->2+4-->6,并且789=87*9+6因此,如果x是正整数,您只需执行x%9即可解决您的问题。如果你得到零,那么真正的结果

c# - 将列表<int> 转换为连接的整数字符串?

我有一个值为3,99,6的int数组。如何使用linq将数组转换为字符串3,99,6? 最佳答案 int[]list=new[]{3,99,6};strings=string.Join(",",list.Select(x=>x.ToString()).ToArray());编辑,C#4.0在C#4.0中,还有一个重载string.Join,最终允许传递一个IEnumerable或IEnumerable直接地。无需创建数组,也无需调用ToString(),它被隐式调用:strings=string.Join(",",list);对字符

c# - 长整数可以在 32 位系统上工作吗?

如果我理解正确的话,一个int变量正在保存32位,将它限制在-20亿到20亿之间。但是,如果我使用长变量,它将保存为64位,从而可以存储更多数字。我使用的是64位系统,但如果我以64位存储数据,我的代码能否在32位系统上正常运行?谢谢! 最佳答案 你不用担心这个。long值将存储在2个内存地址中。Int64/long将始终为64位,而Int32/int将始终为32位。有一些影响(关于内存空间和性能),但最值得注意的可能是写/读操作在32位系统上不是原子的,但你不应该期望它们无论如何都是原子的,因为c#规范不提供此类保证。无论哪种方式

C# 不可变整数

在Java中,字符串是不可变的。如果我们有一个字符串并对其进行更改,我们将获得由同一变量引用的新字符串:Stringstr="abc";str+="def";//nowstrreferstoanotherpieceintheheapcontaining"abcdef"//while"abc"isstillsomewhereintheheapuntiltakenbyGCIt'sbeensaidint和double在C#中是不可变的。这是否意味着当我们拥有int并稍后更改它时,我们会得到同一个变量“指向”的新int?同样的事情,但有堆栈。inti=1;i+=1;//samething:in