我的应用程序提取数据并将其附加到文本文件,但我需要找出如何以编程方式查看文本文件的第一行,看它是否与以下文本匹配:
日期时间,VirtualIP,VirtualPort,VirtualName,DestinationIP,DestPort,状态,期望
如果它确实然后继续执行正常功能(下面的代码段),如果第一行与上面不同,那么我想在第一行插入上面的内容而不覆盖当前的那些.我怎样才能做到这一点?(基本上把所有东西都按下一行,这样我就可以在第一行添加我想要的东西了)...顺便说一句,这是保存为可以在excel中打开的csv文件.
try
{
// ...
for (int j = 0; j < memberStatus.Result.Count; j++)
{
VirtualMemberStatus status = memberStatus.Result[j];
//text += String.Format("Name: {4}, Member: {0}:{1}, Status: {2}, Desired: {3}" + Environment.NewLine, status.Member.Address, status.Member.Port, status.EffectiveStatus, status.DesiredStatus, virtualKey.Key);
text += String.Format("{5},{4},{0},{1},{2},{3}" + Environment.NewLine, status.Member.Address, status.Member.Port, status.EffectiveStatus, status.DesiredStatus, virtualKey.Key.Replace(":", ","), DateTime.UtcNow);
}
}
catch
{
//ERROR CODE 2
//MessageBox.Show("Error occurred, check device name (case senstive) and admin group. This error may also occur due to connection loss, try again.");
errors += …Run Code Online (Sandbox Code Playgroud) 我有一个使用.dll文件的应用程序,该文件有2个不同的位置,我需要找出它在200多台机器上使用的位置.
我是一个非常新的power shell并尝试过Get-Process方法,但是它不提供我需要的信息,还有另一种方法可以在power shell中检索它吗?
我有一个奇怪的问题,我正在尝试从网络计算机中检索XML字符串,当我在我自己的网络之外时,它可以工作但是当我在同一个网络上时,我得到例外:
+ $exception {"Unable to connect to the remote server"} System.Exception {System.Net.WebException}
An attempt was made to access a socket in a way forbidden by its access permissions 192.168.2.214:8080
Run Code Online (Sandbox Code Playgroud)
我正在使用的代码是:
Uri URL = new Uri(SabURL + QueueStatusURL + API);
string myURL = URL.AbsolutePath;
var xmlResults = XDocument.Load(URL.OriginalString.ToString());
Run Code Online (Sandbox Code Playgroud)
奇怪的是,当我运行Fiddler4时它工作得很好,Fiddler做了什么让它开始工作?这是某种代理问题,如果是这样,我将如何处理它?
我试图测试(比较内存中的另一个值)字符串中所有可能的组合,但想知道最好的方法是做什么.
我的输入字符串是0246,诀窍是每个数字可以是2个选项之一,例如:
[0,1][2,3][4,5][6,7]
Run Code Online (Sandbox Code Playgroud)
我希望能够翻转所有可能的组合,这有点像破解保险箱,但这不是我的目的,我保证!
我正在考虑做一个foreach循环切换每个选项,但我的循环将嵌套,我知道性能将受到打击,因为Linq就像新的黑色,这可以用它完成吗?
UPDATE*
我希望结果按从低到高的顺序返回,因为我所比较的原始字符串可能是0001,但随机跳转是没有意义的.
我还想跟踪我有多少次生成不同的变化,并注意到它将在以后使用.
我搜索过但没有为我的项目找到可行的解决方案.我想要做的是打开一个文本文件,并仅过滤以"description"开头的行.
这只是我的文本文件中的一小部分示例:
interface Ethernet1/5
description INFRA:TRUNK:myserver4
switchport mode trunk
switchport trunk native vlan 64
spanning-tree mst pre-standard
spanning-tree guard root
udld aggressive
no shutdown
interface Ethernet1/6
description INFRA:TRUNK:easyserver99
switchport mode trunk
switchport trunk native vlan 99
spanning-tree mst pre-standard
spanning-tree guard root
udld aggressive
no shutdown
Run Code Online (Sandbox Code Playgroud)
这是我现在使用的代码,但它没有完成工作.
private void scrapeConfig_Click(object sender, EventArgs e)
{
string textline;
string description;
//Open and read file
System.IO.StreamReader objReader;
objReader = new System.IO.StreamReader(Chosen_File);
textBox1.Text = objReader.ReadToEnd();
//Scrape for certain lines
do
{
textline = objReader.ReadLine() …Run Code Online (Sandbox Code Playgroud) 我有一个函数,它检索设备名称列表,然后存储在变量中.然后下一步是每行使用1个设备名称获取信息并继续运行直到循环完成.
String text = "";
String errors = "";
for (int i = 0; i < collection.Result.Count; i++)
{
deviceNames += collection.Result[i].DeviceName + Environment.NewLine;
getvirtuals.Location = deviceNames;
var virtuals = client.GetKnownVirtuals(getvirtuals, LtmKeyType.VirtualAddressPort);
if (virtuals.Result == null)
{
i++;
getvirtuals.Location = deviceNames;
for (int v = 0; v < virtuals.Result.Count; v++)
{
try
{
LtmKey virtualKey = new LtmKey();
virtualKey.Location = virtuals.Result[v].Location;
virtualKey.LocationType = virtuals.Result[v].LocationType;
virtualKey.Key = virtuals.Result[v].Key;
virtualKey.KeyType = LtmKeyType.VirtualAddressPort;
virtualKey.AdminGroup = admingroupComboBox.Text;
var memberStatus = client.GetMemberStatus(virtualKey);
for (int j …Run Code Online (Sandbox Code Playgroud) 我有一个Windows窗体应用程序,它也采用命令行参数.你可以自己运行程序,它有一个GUI但是当你在CLI中运行它时,似乎C#从我的论点中删除了一些字符,我提供它.
这是它的工作原理:
RemoveHTML.exe http://illen/configtc.aspx?IP = 192.168.0.15&m = c
该应用程序加载但崩溃,因为C#删除了URL的最后一部分!所以它真正看到的是
RemoveHTML.exe http://illen/configtc.aspx?IP = 192.168.0.15
它删除了"&m = c"部分,在我的CLI中出现此错误:
C:\Users\admin\Documents\Visual Studio 2010\Projects\RemoveHTML\RemoveHTML\bin\Debug>RemoveHTML.exe http://illen/configtc.aspx?IP=192.168.0.15
'm' is not recognized as an internal or external command,operable program or batch file.
Run Code Online (Sandbox Code Playgroud)
我的代码位于Form1_Load部分,它是:
string MyURL;
string[] WebURL;
Run Code Online (Sandbox Code Playgroud)
......
private void Form1_Load(object sender, EventArgs e)
{
string[] args = Environment.GetCommandLineArgs();
foreach (string arg in args)
{
WebURL[0] = args[1];
//WebURL[0] += "&m=c";
//WebURL[0] += (WebURL[0] + "&m=c");
//WebURL = args[1];
//MessageBox.Show(WebURL);
runtimeButton_Click(sender, e);
}
}
Run Code Online (Sandbox Code Playgroud)
我试图找到一种方法,没有C#删除非法字符,任何想法?
我正在开发一个ASP.NET 4.0 Web应用程序,它要做的主要目标是转到MyURL变量中的URL 然后从上到下读取它,搜索以"description"开头的所有行,并且只保留那些删除所有HTML标记.我接下来要做的是从结果后面删除"描述"文本,所以我只剩下我的设备名称.我该怎么做?
protected void parseButton_Click(object sender, EventArgs e)
{
MyURL = deviceCombo.Text;
WebRequest objRequest = HttpWebRequest.Create(MyURL);
objRequest.Credentials = CredentialCache.DefaultCredentials;
using (StreamReader objReader = new StreamReader(objRequest.GetResponse().GetResponseStream()))
{
originalText.Text = objReader.ReadToEnd();
}
//Read all lines of file
String[] crString = { "<BR> " };
String[] aLines = originalText.Text.Split(crString, StringSplitOptions.RemoveEmptyEntries);
String noHtml = String.Empty;
for (int x = 0; x < aLines.Length; x++)
{
if (aLines[x].Contains(filterCombo.SelectedValue))
{
noHtml += (RemoveHTML(aLines[x]) + "\r\n");
}
}
//Print results to textbox
resultsBox.Text = …Run Code Online (Sandbox Code Playgroud)