相关疑难解决方法(0)

C#中的连接整数

有没有一种廉价的方法来连接csharp中的整数?

示例:1039和7056 = 10397056

c#

32
推荐指数
6
解决办法
5万
查看次数

组合两个整数以创建唯一编号

早上好,

我正在寻找一种方法来组合两个整数来创建一个唯一的数字,我有两个表,我需要组合成一个具有唯一数字的第三个表,

这些是我的表:

Table A 
SchoolID    ClassId
107 56644231
107 56644532
107 320110212

Table B 
SchoolID    ClassId
108 566442310
108 56644532
108 50110212
Run Code Online (Sandbox Code Playgroud)

我需要将这些字段导出到第三个表,将表ID和学校ID组合到一个名为classID的字段中.我需要能够将这些数字组合在一起,然后才能将它们组合在一起,以便将schoolid和classid分开以进行更新.我想连接字符串,'schoolid + '00' + 'classid'因为我知道schoolid将始终是一个3位数字,但我正在寻找其他方式或许数学,我不必使用字符串强制转换.

有数学方法可以做到这一点吗?或者是铸造字符串最好的方法来做到这一点?

我正在使用C#来编写解决方案.

谢谢,

c# string math integer

16
推荐指数
3
解决办法
1万
查看次数

ID列的推荐数据类型是什么?

我意识到这个问题之前很可能已被问过,但我在StackOverflow上搜索了一些问题,我没有真正找到答案,所以这里有.如果您发现重复,请链接到它.

出于某种原因,我更喜欢在我的主键字段中使用Guids(uniqueidentifier在MsSql中),但我真的不知道为什么这会更好.在许多教程中,我最近走了一段时间,int使用了自动递增.我可以看到两者的专业和缺点:

  • A Guid总是具有相同的大小和长度,并且没有理由担心耗尽它们,而在你用完一个数字之前,你可以拥有多少记录int.
  • int (至少在C#中)是一个可空类型,在查询数据时会打开几个快捷方式.
  • 而且int更容易阅读.
  • 我打赌你可以在这里提出至少几件事.

因此,就像标题所说的那样简单:数据库中ID(主键)列的推荐数据类型是什么?

编辑:收到几个简短的答案后,我还必须添加这个后续问题.没有它,你的答案既不引人注目也不教育...;)为什么你这么认为,另一种选择的缺点是什么让你选择呢?

language-agnostic database-design types primary-key database-agnostic

7
推荐指数
3
解决办法
1万
查看次数