Toon posts:

[C#] Versienummers met elkaar vergelijken *

Pagina: 1
Acties:

Verwijderd

Topicstarter
Okee, ik wil met elkaar vergelijken 1.0.1 en 1.0.2.
Dit zijn dus versie nummers van een applicatie.
ik probeer een simpel update service te maken die deze waarde dus met elkaar moet vergelijken als iemand een update wil doen.

Wat ik nu doe is Convert.ToDecimal(string Versionnumber), maar dan wordt

Hierdoor wordt de waarde 1.0.1 verandert in 101
Maar versie 2.0 wordt dan 20 en da's lager dan 101, tewijl hij hoger moet zijn.
Wat is een beter optie om dit te doen.
edit:

Titel aangepast, dus tekst iets aangepast. :)

[ Voor 15% gewijzigd door Verwijderd op 29-11-2004 11:23 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19-05 13:45

gorgi_19

Kruimeltjes zijn weer op :9

Er is toch een Version Class :)

En titel ietsie opgepoetst :)

[ Voor 35% gewijzigd door gorgi_19 op 29-11-2004 11:18 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Sijmen
  • Registratie: November 2004
  • Laatst online: 01-10-2025
Aangezien de characer '2' een hogere ascii value heeft dan '1' kun je het zo doen:

C#:
1
2
3
4
5
6
7
8
bool isDeEersteGroter(string eerste, string tweede)
{
    for(int i=0; i<eerste.Length && i<tweede.Length; i++)
        if(eerste[i]>tweede[i])
            return true;

    return false;
}


Let niet op de naamgeving enzo :)

[ Voor 10% gewijzigd door Sijmen op 29-11-2004 11:21 ]


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Die class is toch read-only? :)

[ Voor 9% gewijzigd door RobIII op 29-11-2004 11:50 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

kan je het niet gewoon in een int array gooien dmv de split('.') functie en dan die waardes vergelijken?

Verwijderd

Kan je niet een split doen Dan krijg je netjes een array die je kunt gebruiken :)

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19-05 13:45

gorgi_19

Kruimeltjes zijn weer op :9

RobIII schreef op maandag 29 november 2004 @ 11:50:
[...]

Die class is toch read-only? :)
System.Version is niet readonly :) Je kan de zut in de constructor meegeven. Vergelijken gaat vervolgens met CompareTo :)

Zie http://msdn.microsoft.com...onclasscomparetotopic.asp :)

En volgens MSDN moet iets als:
Visual Basic .NET:
1
Dim clientVersion as Version = New Version("1.1.3.4")

ook werken :)

[ Voor 14% gewijzigd door gorgi_19 op 29-11-2004 12:10 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
gorgi_19 schreef op maandag 29 november 2004 @ 12:08:
[...]

System.Version is niet readonly :) Je kan de zut in de constructor meegeven. Vergelijken gaat vervolgens met CompareTo :)

Zie http://msdn.microsoft.com...onclasscomparetotopic.asp :)
Aaaah, ok dan! Leuk leuk leuk! :Y)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Top, bedankt.
Had deze class nog niet gevonden, maar ondertussen genoeg erover gevonden om verder te gaan.
Thanx all. :)

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 18-05 09:50

pjvandesande

GC.Collect(head);

De Version class ondersteund zelf de < en de > opperator, dus werkt prima!

  • whoami
  • Registratie: December 2000
  • Laatst online: 23:34
questa schreef op maandag 29 november 2004 @ 13:24:
De Version class ondersteund zelf de < en de > opperator, dus werkt prima!
In VB.NET waarschijnlijk niet. :P

https://fgheysels.github.io/


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 18-05 09:50

pjvandesande

GC.Collect(head);

whoami schreef op maandag 29 november 2004 @ 13:25:
[...]


In VB.NET waarschijnlijk niet. :P
* pjvandesande leest ook C# in de titel en kijkt vaak niet verder dan ze neus lang is tot zijn grootte spijt. B)

Voor VB:
Visual Basic:
1
Version.op_GreaterThan(v1, v2)

[ Voor 11% gewijzigd door pjvandesande op 29-11-2004 13:39 ]

Pagina: 1