Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

I have a problem I want to convert vb code to c# code

Posted on 2007-11-15
Last Modified: 2008-02-01
public object URLDecode(string What)
        object functionReturnValue = null;
        int Pos;
        int pPos;
        What = What.ToString().Replace("+", " ");
        StringReader Stream = new StringReader(What);
        ErrorEventArgs Err;
        if (Convert.ToInt64(Err) == 0) {
            Pos = What.ToString().IndexOf("%",1);
            pPos = 1;
            while (Pos > 0) {
               pPos = Pos + 3;
               Pos = What.ToString().IndexOf("%", pPos);
            Stream.WriteText(Strings.Mid(What, pPos));
            Stream.Position = 0;
            functionReturnValue = Stream.ReadToEnd();//.ReadText;
        else {
            Pos = What.ToString().IndexOf("%", 1);
            while (Pos > 0) {
               What = Strings.Left(What, Pos - 1) + Strings.Chr((long)"&H" + Strings.Mid(What, Pos + 1, 2)) + Strings.Mid(What, Pos + 3);
                Pos = Pos + 1;
                Pos = What.ToString().IndexOf("%", Pos);
            functionReturnValue = What;
        Stream = null;
        return functionReturnValue;
Question by:sitg
LVL 53

Accepted Solution

Dhaest earned 250 total points
ID: 20296542
The code above is in c#... do you have a problem with your code or do you want it in vb.net ?

Vb.net code of example above
Public Function URLDecode(ByVal What As String) As Object 
    Dim functionReturnValue As Object = Nothing 
    Dim Pos As Integer 
    Dim pPos As Integer 
    What = What.ToString().Replace("+", " ") 
    Dim Stream As New StringReader(What) 
    Dim Err As ErrorEventArgs 
    If Convert.ToInt64(Err) = 0 Then 
        Pos = What.ToString().IndexOf("%", 1) 
        pPos = 1 
        While Pos > 0 
            pPos = Pos + 3 
            Pos = What.ToString().IndexOf("%", pPos) 
        End While 
        Stream.WriteText(Strings.Mid(What, pPos)) 
        Stream.Position = 0 
        functionReturnValue = Stream.ReadToEnd() 
        Pos = What.ToString().IndexOf("%", 1) 
        While Pos > 0 
            What = Strings.Left(What, Pos - 1) + Strings.Chr(CLng("&H") + Strings.Mid(What, Pos + 1, 2)) + Strings.Mid(What, Pos + 3) 
            Pos = Pos + 1 
            Pos = What.ToString().IndexOf("%", Pos) 
        End While 
        functionReturnValue = What 
    End If 
    Stream = Nothing 
    Return functionReturnValue 
End Function 

Open in new window

LVL 55

Assisted Solution

by:Jaime Olivares
Jaime Olivares earned 250 total points
ID: 20296549
You don't have to do all this. There is a ready-made .net function for this:
public string URLDecode(string What)
       return System.Web.HttpUtility.UrlDecode(What);

Open in new window


Author Comment

ID: 20310382

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
Today is the age of broadband.  More and more people are going this route determined to experience the web and it’s multitude of services as quickly and painlessly as possible. Coupled with the move to broadband, people are experiencing the web via …
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question