Ich hatte diese VB-Methode, die ich Warum brauche ich beim Zugriff auf eine Struktur einen Standard?
Public Function GetToricData(ByRef SaveFileName As String) As ToricDataType
Dim filenumber As Short
Dim InString As String = ""
filenumber = FreeFile()
If System.IO.File.Exists(SaveFileName) Then
With GetToricData
FileOpen(filenumber, SaveFileName, OpenMode.Input)
Input(filenumber, InString)
If IsNumeric(InString) Then
.ToricAppDiam = Convert.ToDouble(InString)
End If
Input(filenumber, InString)
If IsNumeric(InString) Then
.NumToricOpticZones = Convert.ToInt16(InString)
End If
FileClose(filenumber)
End With
Else
With GetToricData
.NumToricOpticZones = 20
.ToricAppDiam = 3
End With
SaveToricData(SaveFileName, GetToricData)
End If
End Function
Beitrag Umwandlung in C# Telerik Online Converter ich diese
public static FrontEndStructures.ToricDataType GetToricData(ref string SaveFileName)
{
var title = ((AssemblyTitleAttribute)System.Reflection.Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false)[0]).Title;
FrontEndStructures.ToricDataType functionReturnValue = default(FrontEndStructures.ToricDataType);
//FrontEndStructures.ToricDataType functionReturnValue = new FrontEndStructures.ToricDataType();
int filenumber = 0;
string InString = "";
filenumber = FileSystem.FreeFile();
if (System.IO.File.Exists(SaveFileName))
{
var _with38 = functionReturnValue;
FileSystem.FileOpen(filenumber, SaveFileName, OpenMode.Input);
FileSystem.Input(filenumber,ref InString);
if (Information.IsNumeric(InString))
{
_with38.ToricAppDiam = Convert.ToDouble(InString);
}
FileSystem.Input(filenumber,ref InString);
if (Information.IsNumeric(InString))
{
_with38.NumToricOpticZones = Convert.ToInt16(InString);
}
FileSystem.FileClose(filenumber);
}
else
{
var _with39 = functionReturnValue;
_with39.NumToricOpticZones = 20;
_with39.ToricAppDiam = 3;
SaveToricData(ref SaveFileName, ref _with39);
}
return functionReturnValue;
}
ToricDataType bekam zu C#
umgewandelt alspublic struct ToricDataType
{
public double ToricAppDiam;
public short NumToricOpticZones;
}
definiert ist Ich möchte wissen, was die Bedeutung der Linie
istFrontEndStructures.ToricDataType FunktionReturnValue = Standard (FrontEndStructures.ToricDataType);
warum hat das Online-Tool Standard Schlüsselwort verwenden und warum neue Stichwort könnte nicht verwendet werden? Da es sich bei der Klasse um einen Strukturtyp und Strukturen um Werttypen handelt, wo ist also der zugewiesene Speicher (Stack oder Heap) und wie werden Datenelemente initialisiert?
ich eine detaillierte Erklärung zu diesem Thema erwarten und wissen will, dass neuenOperator würde mir den gleichen Zweck oder nicht erreichen helfen?
"Da die Klasse ein Strukturtyp ist". Ähm, nein. Eine Klasse ist eine Klasse und eine Struktur ist eine Struktur. Wenn du ein Wort haben willst, das sich auf beides beziehen kann, dann benutze "type". – jmcilhinney
"Strukturen sind Werttypen, also wo ist der Speicher zugeordnet". Wo ist der Speicher IMMER für Werttypen reserviert? Es spielt keine Rolle, um welchen Wert es sich handelt. – jmcilhinney
"wie Datenelemente initialisiert werden". Der ganze Punkt von 'default' ist, dass es der Standardwert für den Typ ist. Genau wie 'Nothing' in VB entspricht dies dem Auffüllen des Stack-Speichers der Variablen mit Nullen. Das bedeutet, dass jedes Feld auch den Standardwert für seinen Typ hat. – jmcilhinney