繁体   English   中英

知道字符串是long还是Guid的最佳方法是什么?

[英]What is the best way to know if a string is a long or a Guid?

我在文本文件中有一些表示对象ID的字符串,有时ID是一个很长的字符串,而另一个是Guid,我需要解析它们。

快速答案是显而易见的,例如,尝试解析Guid,但如果失败,则尝试解析长,但是。 有什么好办法( 优雅的解决方案 )来知道某个字符串是长字符串还是Guid字符串?

  ee02b525-9755-4a07-a46d-37bb5b060fd2 (Guid)
  -48765 (long)

提前致谢。

快速答案是显而易见的,例如,尝试解析Guid,但如果失败,则尝试解析长,但是。 有什么好办法(优雅的解决方案)来知道某个字符串是长字符串还是Guid字符串?

不行。long.TryParseGuid.TryParse是要走的路。 另一种可能性是测试字符串是否包含-但不在开头:

someString.IndexOf("-") > 1

这强烈表明此字符串不是Int64。 可能是个向导。 但这可能是其他任何事情。 当然,如果您知道此文件中只能包含Guid和long,则可能是一个有力的指示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM