这是一个奇怪的!我正在研究一个读取vCard文件的应用程序,其中包含一个人的联系信息等。每个文件可能包含单独的“部分”,每个部分包含一个人的详细信息,它们由BEGIN:VCARD [data here] END:VCARD分隔。c# - 打开文件的WPF命令行参数给出无限循环
为了让我的用户能够查看所有不同的细节,我已经允许我的程序在应用程序的文本框中填充细节,然后打开一个新窗口并使用该窗口执行此操作,但对于每个窗口文件中的不同部分。
问题出现在我的程序打开时,双击Explorer中的vCard文件。它通过vCard持续循环。我不知道该怎么做,但下面是我的问题的代码:
public void readVcard(string fname)//Reads vCard and then loops through sections
{
try
{
using (StreamReader r = new StreamReader(fname))
{
string input = File.ReadAllText(fname);//read through file
String[] vArray = input.Split(new string[] { "BEGIN:VCARD" }, StringSplitOptions.None);
int i;
for (i = 1; i < vArray.Length; i++)
{
MainWindow a = new MainWindow();
a.parser(vArray[i]); //Parser is the function that populates the app
a.Show();
}
return;
}
}...
这个函数就是从这里称为:
void MainWindow_Loaded(object sender, RoutedEventArgs e)//Processes a file when opened externally
{
if (Application.Current.Properties["ArbitraryArgName"] != null)
{
string fname = Application.Current.Properties["ArbitraryArgName"].ToString();
readVcard(fname);
}
}
如果有人可以帮助,这将不胜感激。
什么都没有作为一个无限循环突出。你能指定它看起来卡在哪一行吗?你怎么知道这是一个无限循环与类似僵局的事情? – vcsjones 2011-03-05 18:50:59
如果我删除'for'循环并指定'parser(vArray [1]);'例如,它工作正常。如果我将循环保留在那里,它就会继续循环。 – user646265 2011-03-05 19:00:29
您是否尝试过手动将调试器附加到循环应用程序以查看应用程序正在执行的操作? – madd0 2011-03-05 19:17:27