Member 13318869 Ответов: 1

Добавьте ddd к дате времени из VB в C#


Private Sub StockETDStdCalc()

    Dim DateSOP As Date
    Dim DateSOPFormat, DateDaySOP As String

    DateSOP = Nothing
    DateSOPFormat = Nothing
    DateDaySOP = Nothing

    DateSOP = DateTime.Now
    DateSOP = DateSOP.AddDays(+5)

    If Format(DateSOP, "ddd") = "6" Then
        DateSOP = DateSOP.AddDays(+2)
    ElseIf Format(DateSOP, "ddd") = "7" Then
        DateSOP = DateSOP.AddDays(+1)
    End If

    DateSOPFormat = Format(DateSOP, "MM") & "-" & Format(DateSOP, "dd") & "-" & Format(DateSOP, "yyyy")

    TxtBx_ETD.Text = DateSOPFormat

End Sub


Мне нужно преобразовать VB в C#. Я не уверен, что кодировка правильна или нет, Может ли кто-нибудь помочь мне проверить это? Большое спасибо.

Что я уже пробовал:

protected void StockETDStdCalc()
{

    DateTime DateSOP;
    String DateSOPFormat, DateDaySOP;

    DateSOP = null;
    DateSOPFormat = null;
    DateDaySOP = null;

    DateSOP = DateTime.Now;
    DateSOP = DateSOP.AddDays(5);

    if (DateSOP == DateSOP.AddDays(6)) -- I THINK THIS LINE NOT CORRECT
    {
        DateSOP = DateSOP.AddDays(2);
    }
    else if (DateSOP == DateSOP.AddDays(7)) -- I THINK THIS LINE NOT CORRECT
    {
        DateSOP = DateSOP.AddDays(1);
    }

    DateSOPFormat = DateTime.Now.ToString("MM/dd/yyyy");

    TxtBx_ETD.Text = DateSOPFormat;


}

Vinod Jangle

Эти условия не ясны в программе C# , вы добавляете дни и изменяете значение объекта DateSOP несколько раз. Я верю, что в старом коде вы проверяете день недели, а затем добавляете несколько дней на основе условия, если это правда, то вы можете получить доступ к Дню ween, как DateSOP.DayOfWeek в C# он даст название дня, например понедельник.

Member 13318869

да, я хочу сделать это в своем программировании. Можете ли вы показать мне, какая строка неверна?

1 Ответов

Рейтинг:
1

OriginalGriff

Это даже близко не так - либо вы не понимаете VB, либо не понимаете C#...

Попробуйте воспользоваться конвертером кодов - в интернете их несколько, но этот довольно хорош: Преобразователь кода C# в VB и VB в C# – Telerik[^]
Он дал мне это:

private void StockETDStdCalc()
{
    DateTime DateSOP;
    string DateSOPFormat, DateDaySOP;

    DateSOP = default(DateTime);
    DateSOPFormat = null;
    DateDaySOP = null;

    DateSOP = DateTime.Now;
    DateSOP = DateSOP.AddDays(+5);

    if (Strings.Format(DateSOP, "ddd") == "6")
        DateSOP = DateSOP.AddDays(+2);
    else if (Strings.Format(DateSOP, "ddd") == "7")
        DateSOP = DateSOP.AddDays(+1);

    DateSOPFormat = Strings.Format(DateSOP, "MM") + "-" + Strings.Format(DateSOP, "dd") + "-" + Strings.Format(DateSOP, "yyyy");

    TxtBx_ETD.Text = DateSOPFormat;
}
Это некачественный C#, но он, по крайней мере, будет выполнять ту же работу, что и входной код...


Member 13318869

Я использую Telerik также для преобразования vb в c# или c# в vb, но иногда это работает, иногда появляется ошибка.. кстати, спасибо за идею..

OriginalGriff

Всегда пожалуйста!