我以前在C#中使用过一个项目,现在我基本上在VB.net中做同样的项目。
我不知道如何将其翻译成VB.net
foreach (var obj in objs)
整个代码是这样的:
public void BinaryFileSerialize(List<Animal> objs, string filePath)
{
FileStream fileStream = null;
try
{
fileStream = new FileStream(filePath, FileMode.Create);
BinaryFormatter b = new BinaryFormatter();
foreach (var obj in objs)
{
b.Serialize(fileStream, obj);
}
}
finally
{
if (fileStream != null)
fileStream.Close();
}
}
我试过在VB.net中这样做:
For Each obj As var In objs
整个代码:
Public Sub BinaryFileSerialize(ByVal objs As List(Of Animal), ByVal filePath As String)
Dim fileStream As FileStream = Nothing
Try
fileStream = New FileStream(filePath, FileMode.Create)
Dim b As BinaryFormatter = New BinaryFormatter
For Each obj As var In objs
b.Serialize(fileStream, obj)
Next
Finally
If (Not (fileStream) Is Nothing) Then
fileStream.Close()
End If
End Try
End Sub
但我收到错误
未定义类型'var'。
有谁知道这个问题以及如何修复它?
答案 0 :(得分:2)
答案 1 :(得分:0)
试试这个:
Public Sub BinaryFileSerialize(objs As List(Of Animal), filePath As String)
Dim fileStream As FileStream = Nothing
Try
fileStream = New FileStream(filePath, FileMode.Create)
Dim b As New BinaryFormatter()
For Each obj As Animal In objs
b.Serialize(fileStream, obj)
Next
Finally
If fileStream IsNot Nothing Then
fileStream.Close()
End If
End Try
End Sub
答案 2 :(得分:-1)
将Option Infer On
作为第一行
For Each obj In objs
答案 3 :(得分:-1)
假设你有:
Option Explicit Off
然后只需将循环更改为:
For Each obj In objs