Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Ineffektiv kod? Förklara gärna vad som gör den långsam...

Postades av 2007-05-25 21:00:48 - Fredrik Leufkens, i forum vb.net, Tråden har 5 Kommentarer och lästs av 817 personer

hej...

Jag har en subrutin som jag skrivit som skall plocka in en cotrolcontainer som argument och resetta textboxarna som finns i den...

Men det händer inte "med en gång" när man kör funktionen, så jag funderar på om den är innefektiv på något sätt?

Om nån hugad vb.net-räv kan förklara om och gärna varför eventuellt den är innefektiv...

    Public Shared Sub ResetTextboxes(ByVal Containerctrl As System.Windows.Forms.Control)
        Dim antalkontroller As Integer = Containerctrl.Controls.Count
        Dim ctrlcheck As New Control
        For i As Integer = 0 To antalkontroller - 1
            Dim err As Integer = 0
            Try
                ctrlcheck = CType(Containerctrl.Controls.Item(i), TextBox)
            Catch ex As InvalidCastException
                err = 1
            End Try
            If err = 0 Then
                Containerctrl.Controls.Item(i).Text = ""
            End If
        Next


Svara

Sv: Ineffektiv kod? Förklara gärna vad som gör den långsam...

Postades av 2007-05-25 22:51:40 - Thomas Vanhaniemi

Det är troligen din Try Catch som tar tid...
Man ska alltid försöka undvika dessa fall.

Du kan skriva funktionen som

Public Shared Sub ResetTextboxes(ByVal Containerctrl As System.Windows.Forms.Control)
    For Each Control As Control In Containerctrl.Controls
        If Control.GetType() Is GetType(TextBox) Then
            Control.Text = ""
        End If
    Next
End Sub


Svara

Sv:Ineffektiv kod? Förklara gärna vad som gör den långsam...

Postades av 2007-05-26 02:12:45 - Per Hultqvist

Lite ringrostig men räcker det inte med :

Public Shared Sub ResetTextboxes(ByVal Containerctrl As System.Windows.Forms.Control)
    For Each Control As Control In Containerctrl.Controls
        If Control Is TextBox Then
            Control.Text = ""
        End If
    Next
End Sub


Svara

Sv: Ineffektiv kod? Förklara gärna vad som gör den långsam...

Postades av 2007-05-26 09:49:00 - Thomas Vanhaniemi

Per, kan hända att det räcker med Is TextBox. Det beror på hur VB gör...
Om båda sidorna är instanser av någon klass kontrollerar Is i alla fall om det är samma instans.

Det är tydligare att använda GetType för då är man säker på vad man jämför.


Svara

Sv:Ineffektiv kod? Förklara gärna vad som gör den långsam...

Postades av 2007-05-26 19:04:19 - Fredrik Leufkens

Kan inte någon förklara skillanden mellan = och "is"...?


Svara

Sv: Ineffektiv kod? Förklara gärna vad som gör den långsam...

Postades av 2007-05-26 22:08:25 - Thomas Vanhaniemi

Svårt att förklara skillnaden då de har olika betydelse i olika sammanhang.
Men Is används främst för att kontrollera referenstyper, alltså om två instanser av någonting är identiska, alltså att de har samma plats i minnet.
Is används också för att kontrollera om någonting är Nothing (Is Nothing), alltså inte alls upptar något minne. Det kan även användas för att jämföra två type objekt, som i mitt exempel. Kan också fungera med jämförelsen i Pers exempel, så där jämförs alltså typerna då du anger ett objekt på ena sidan och en klass på andra.

= kan användas för att tilldela eller jämföra värden, till exempel tal och strängar. I .NET 2.0 kan man överlagra operatorer och därmed ge dessa annan betydelse.


Svara

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 725
27 958
271 751
517
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies