如何在下面的方法中将int(StaffID
)转换为字符串。它不接受Guid.NewGuid(ToString)
public void submitStaffID(StaffEnity staff)
{
staff.StaffID = Convert.ToInt32(Guid.NewGuid(ToString));
StaffEntity.Add(staff);
}
方法NewGuid没有重载,需要1个参数。
namespace StaffEntity
{
[DataContract]
public class StaffEnity
{
[DataMember]
public int StaffID;
[DataMember]
public string Forename;
[DataMember]
public string Surname;
[DataMember]
public DateTime TimeAdded;
}
}
您正在寻找这个:
staff.StaffID = Convert.ToInt32(Guid.NewGuid().ToString());
但是之后将其转换为int32是行不通的!
来自MSDN:
GUID是一个128位整数(16字节),可用于所有计算机和网络,只要需要唯一标识符。这样的标识符被复制的概率非常低。
另一方面,一个int结构:
表示一个32位有符号整数。
因此,如果不丢失大部分信息
https://stackoverflow.com/questions/4518684/convert-guid-to-int
你可能是指这个
staff.StaffID = new Random().Next(int.MinValue, int.MaxValue);
正确使用Random
类的注意事项:
随机数生成器只生成一个随机数
好吧,错误消息告诉你问题。。。Guid.NewGuid
不接受任何参数。当您打算将ToString
放在方法调用的后面时,您将其放在了方法调用的内部。
staff.StaffID = Convert.ToInt32(Guid.NewGuid().ToString());
这当然不能正常工作,因为Guid
代表128位的值,对于int来说太大了
为什么不让StaffId
从Guid
开始(不是转换为其他内容的Guid
,而是Guid StaffId { get; set; }
),或者不是随机值?
我认为Guid.NewGuid().ToString()
会起作用。
也许你想这么做:
staff.StaffID = Convert.ToInt32(Guid.NewGuid().ToString());
您到底想做什么?"ToString
"变量代表什么?
此外,Guid.NewGuid
方法没有任何参数。正确的使用应该是Guid.NewGuid()
而不是Guid.NewGuid(ToString)
。
这将为您生成一个随机GUID。如果你担心碰撞,不要介意。两次生成同一个GUID的可能性非常小。
ToString()是一个应用于的方法。
Guid.NewGuid().ToString()
应该为您提供一个新的guid