2010-10-02 8 views
2

J'ai précédemment généré des identifiants uniques en utilisant Math.Rando, méthode ou parfois en utilisant la méthode GUID.NewGUID. Cette fois, j'essaie de générer un nombre unique basé sur un modèle spécifique. Par exemple 123ABC123 - la longueur du numéro restera toujours 9 et il contiendra 3 chiffres suivis de trois caractères, suivis de trois chiffres de plus.Générer ID unique suivant un modèle spécifique comme "digitStringDigit" en C#

+1

Ces éléments doivent-ils être uniques pour plusieurs applications? Seulement unique dans votre application? Est-ce que ces identifiants peuvent être générés à partir d'un seul point (comme par exemple la méthode statique GetId() de la classe IdGenerator?) – Rohith

+0

Cela doit être unique dans les applications et oui, ils peuvent être générés à partir d'un seul point – Sandhurst

+0

les applications "est très confuse; Parlez-vous de plus d'une application? Courent-ils en même temps? Sur des machines différentes? –

Répondre

2

Si je voulais une pièce d'identité purement unique, j'utiliser:

TimeSpan uniqueID = DateTime.Now.ticks; 

qui vous guarnatees obtenir un identifiant unique, peu importe quand vous l'appelez.

+1

Et si quelqu'un retournait l'horloge? – kofucii

+0

datetime.now.ticks utilise l'horloge CMOS interne au PC. À moins que vos utilisateurs ne fassent des changements physiques majeurs sur le PC, cela devrait être une méthode très sûre pour générer un ID unique –

+0

Cette horloge est toujours la même que celle définie par l'utilisateur. – Tergiver