webForumDet fria alternativet

Gå över till Vb från C#

.NET

17 svar · 711 visningar · startad av Fredde Mannen

Medlem sedan nov. 20014 054 inlägg
Frågan#1

Det är nu så att jag kanske måste vänja om mig till Vb istället för C# på det framtida företaget. Då kommer lite funderingar här:

using Some.Thing = Imports Some.Thing ? 

Subclass : Baseclass  = Subclass Inherits Baseclass ?

Subclass : IInterface = Subclass Implements IInterface ?

public = Public ?

private = Private ? 

static =  Shared ? 

overrides = Overriden ?

Konstruktorer:

public Klassnamn() {
} 

Public Sub New() 
End Sub

Instansiering av objekt:

Klassnamn objekt = new Klassnamn(); 
Dim objekt As New Klassnamn()

Properties

private string _name;
public string Name {
 get { return _name; }
 set {  _name = value; }
}

Private _name As String
Public Property Name() As String
        Get
            Return _name
        End Get
        Set(ByVal value As String)
            _name = value
        End Set
End Property

Linq

var query = from o in objekt select o;

Dim query = From o In objekt Select o

Finns förmodligen 100 saker till som skiljer dem åt.. TYP allt.. men saker som gör att man kan ta sig framåt utan att bli för tokig, med hänsyn till syntaxen då. Själva dotnet-ramverket är ju det samma. :OO

Btw. hur är det med delegates ? antar att dessa inte finns i sin form som i C# utan mer som detta:


myList.Sort(delegate(Person p1, Person p2) { return p1.Name.CompareTo(p2.Name); });

myList.Sort(AddressOf MethodName)

Public Function MethodName(ByVal p1 As Person, ByVal p2 As Person) As Integer 
 Return p1.Name.CompareTo(p2.Name)
End Function

Men iofs här kan man väl i stort sätt använda Linq istället då? :OO Om man inte vill skriva sin egen sort av någon anledning.

Tror ni det kan funka.. if-satser och så, loopar med mer bör väl vara som i ASP 3.0 ungefär?

Tror ni det blir en MYCKET stor omställning?

Medlem sedan juni 20019 519 inlägg
#2

http://labs.developerfusion.co.uk/convert/csharp-to-vb.aspx Tror inte det blir några problem att byta till vb.net (förstår dock inte riktigt varför?) Det kanske inte gå per automatik direkt men det tar inte lång tid för dig att byta.

Medlem sedan jan. 20023 327 inlägg
#3

Fredde Mannen skrev:

Det är nu så att jag kanske måste vänja om mig till Vb istället för C# på det framtida företaget.

Beklagar sorgen. :(

Medlem sedan nov. 20014 054 inlägg
#4

voigtann1 skrev:

(förstår dock inte riktigt varför?) Det kanske inte gå per automatik direkt men det tar inte lång tid för dig att byta.

Orsaken är för att jag kommer byta arbetsgivare, och på det nya stället kör de Vb och inte C#.

Ja huvudsaken är att det går.. kommer säkert bli ett gäng med kompileringsfel pga av min vana av att sätta ; i slutet. :)

Medlem sedan aug. 20003 575 inlägg
#5

Fredde Mannen skrev:

Orsaken är för att jag kommer byta arbetsgivare, och på det nya stället kör de Vb och inte C#.

Ja huvudsaken är att det går.. kommer säkert bli ett gäng med kompileringsfel pga av min vana av att sätta ; i slutet. :)

Övertyga den nya chefen att C# är framtiden :)

Medlem sedan okt. 2007446 inlägg
#6

Fredde Mannen skrev:

Ja huvudsaken är att det går.. kommer säkert bli ett gäng med kompileringsfel pga av min vana av att sätta ; i slutet. :)

Äh Du får väl hålla ögonen öppna efter "blåa vågor" under koden :p
.. eller du kanske inte kodar i VS ?

Medlem sedan nov. 20014 054 inlägg
#7

rhdf skrev:

Äh Du får väl hålla ögonen öppna efter "blåa vågor" under koden :p
.. eller du kanske inte kodar i VS ?

Ja, jag får hålla koll på de blåa vågorna.. :) Kommer scanna skärmen efter blå vågor. :OO

Medlem sedan jan. 2008280 inlägg
Medlem sedan nov. 20014 054 inlägg
#9

invecklaren skrev:

http://www.vbforums.com/showthread.php?t=344688

Den var nice! :e Mycket nice! :bire

Common Issue but for C# peeps moving to VB.NET its probably worth mentioning that you need to use "AndAlso" or "OrElse" instead of "And" or "Or" if you want to short-circuit like C# does by default with && and ||

Baaah... så om jag är van att skriva:

if(_name == "test" && _name2 == "test2") {

}

Så bör jag göra detta:

if _name = "test" AndAlso _name2 = "test2" then

end if

och inte

if _name = "test" And _name2 = "test2" then

end if

Kan ju vara bra att veta! :e

Medlem sedan dec. 2005198 inlägg
#10

Lycka till, jag jobbar just nu med ett projekt i VB för kunden ville ha det. Det är ett helvete ser ut som på den gamla ASP tiden.

Medlem sedan aug. 20003 575 inlägg
#11

Hmm ibland kan man fråga sig om man inte kan köra C# och sedan konvertera skiten, kör man utan en massa trix och fulhack bör det gå ganska bra.

Medlem sedan nov. 20014 054 inlägg
#12

Nickemannen skrev:

Hmm ibland kan man fråga sig om man inte kan köra C# och sedan konvertera skiten, kör man utan en massa trix och fulhack bör det gå ganska bra.

Jo man tycker ju det...

Men det är inte många konverterare som jag hittat som fixar till ex detta:

Typ:

public void SomethingHappends() {
 List<Something> list = new List<Something>();
 list.Sort(delegate(Person p1, Person p2) { return p1.AProperty.CompareTo(p2.AProperty);}): 
}

Till då den som skulle kunna vara dess ersättare

Public Sub SomethingHappends()
   Dim list As New List(Of Something)()
   list.Sort(AddressOf Somemethod)
End Sub

Public Shared Function Somemethod(Person p1, Person p2) As Integer
   Return p1.AProperty.CompareTo(p2.AProperty)
End Function

Men annars funkar ju konverterare bra..

Medlem sedan jan. 20022 440 inlägg
#13

Ett tips när du kodar VB.NET är att vrida på Option.Strict, VB.NET gör en massa egna hacks annars.

Medlem sedan nov. 20014 054 inlägg
#14

Tack för det.. :)

Medlem sedan aug. 20003 575 inlägg
#15

Ta även bort Microsoft.VisualBasic referensen.
Den är bara till för gamla vb programmerare som inte vill lära sig nytt.
Kommer tyvärr med som default.

Medlem sedan sep. 200888 inlägg
#16

ooo stackare... lider redan... VB är inte kul alltså... Tykcer det skall införas lagar att alla vb går till C# ;-) hehe... o en lag som heter få mer betalt om man måste sitta med vb om man är van vid C# ;-)

Medlem sedan juni 20008 205 inlägg
#17

Jag håller med. Du har mina kondoleanser, Fredde.

Medlem sedan jan. 20022 440 inlägg
#18

Jag håller med både Johan och spango, kommer själv från VB. Det räcker att läsa den korta beskrivningen om hur .NET grundarna tänkte när de tog fram VB.NET för att inse att den skiten inte är något att ha :)

269 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)