C# 从txt文件中的行中读取,如果框是一部分,则变量等于第二部分
我需要根据文本文件中的内容设置一个变量 文本文件的设置如下所示:C# 从txt文件中的行中读取,如果框是一部分,则变量等于第二部分,c#,.net,visual-studio-2012,C#,.net,Visual Studio 2012,我需要根据文本文件中的内容设置一个变量 文本文件的设置如下所示: AK_47_M,30Rnd_762x39_AK47 AK_47_S,30Rnd_762x39_AK47 AKS_74_Kobra,30Rnd_545x39_AK bizon_silenced,64Rnd_9x19_SD_Bizon M1014,8Rnd_B_Beneli_74Slug M16A2,30Rnd_556x45_Stanag 等等。。。 你会注意到第一部分是武器类名称,第二部分是弹药类型的类名 我的表单上有一个名为bo
AK_47_M,30Rnd_762x39_AK47
AK_47_S,30Rnd_762x39_AK47
AKS_74_Kobra,30Rnd_545x39_AK
bizon_silenced,64Rnd_9x19_SD_Bizon
M1014,8Rnd_B_Beneli_74Slug
M16A2,30Rnd_556x45_Stanag
等等。。。
你会注意到第一部分是武器类名称,第二部分是弹药类型的类名
我的表单上有一个名为box_-wearm的组合框,它从同一个文本文件中读取,并通过运行以下代码生成一个包含行的所有前半部分的数组:
string[] weaponsArray = File.ReadAllLines("weapons.txt");
foreach (var line in weaponsArray)
{
string[] tokens = line.Split(',');
box_pw.Items.Add(tokens[0]);
}
总而言之。
我需要某种“如果盒子武器=线位置1;弹药类型=线位置2”试试这个
StreamReader reader = File.OpenText(@"C:\weapons.txt");
while (!reader.EndOfStream)
{
string currentLine = reader.ReadLine();
string[] words = currentLine .Split(",");
if (this.box_weapon.SelectedItem.ToString() == words[0])
{
ammoType = words[1];
}
}
公共级武器
{
公共字符串AK_47_M;
公共字符串AKU 47_S;
公共字符串AKS_74_Kobra;
公共字符串bizon_沉默;
公共字符串M1014;
公共字符串M16A2;
}
武器=(新的JavascriptSerializer())
.反序列化(“{”+
String.Join(“,”,File.ReadAllLines(“warms.txt”)
.选择(x=>x.Replace(“,”,“:”))
.ToArray())+
"}" );
字符串AK=武器Sobj.AK_47_M;
不要将字符串添加到组合框中。添加一个“武器”
史诗般的胜利。谢谢sajanyamaha!:)
public class Weapons
{
public string AK_47_M;
public string AK_47_S;
public string AKS_74_Kobra;
public string bizon_silenced;
public string M1014;
public string M16A2;
}
Weapons weapons = (new JavascriptSerializer())
.Deserialize<Weapons>( "{" +
String.Join(",", File.ReadAllLines("weapons.txt")
.Select(x => x.Replace(",",":"))
.ToArray()) +
"}" );
String AK = weaponsObj.AK_47_M;
Public Class Form1
Private Weapons As New List(Of Weapon)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
With Weapons
.Add(New Weapon("M16", ".223"))
.Add(New Weapon("AK74", "7.62"))
.Add(New Weapon("Catapult", "Pumpkin"))
End With
Me.ComboBox1.DataSource = Weapons
End Sub
Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged
If ComboBox1.SelectedItem IsNot Nothing Then
Dim w As Weapon = DirectCast(ComboBox1.SelectedItem, Weapon)
Debug.Print("A {0} needs some {1} to be effective!", w.Name, w.Ammo)
End If
End Sub
End Class
Public Class Weapon
Public Name As String
Public Ammo As String
Public Sub New(Name As String, Ammo As String)
Me.Name = Name
Me.Ammo = Ammo
End Sub
Public Overrides Function ToString() As String
Return Me.Name
End Function
End Class