小编Tim*_*Tim的帖子

从二进制文件中随机读取结构

大家好,

我有以下结构:

public struct IncomeTax
{
    public string name, category;
    public int income;
} 
Run Code Online (Sandbox Code Playgroud)

我正在写一个不.使用以下代码将二进制格式的结构(记录)转换为文本文件:

FileStream fs = new FileStream(Application.StartupPath + "\\Hello.txt", FileMode.Append, FileAccess.Write);

BinaryWriter bw = new BinaryWriter(fs);
bw.Write(it.name);
bw.Write(it.category);
bw.Write(it.income);
bw.close(); 

fs.close();
Run Code Online (Sandbox Code Playgroud)

现在,我想从这个文件中随机读取记录,说我想直接进入第3条记录.我知道这可以用BinaryReader&完成FileStream.Seek.但我不知道如何使用FileStream.Seek直接转到任何记录.请帮忙.

c# random binary struct file

2
推荐指数
1
解决办法
612
查看次数

从CheckedListBox获取CheckBox的标签文本

我目前有一个带有几个框的CheckedListBox.我希望能够测试列表中的每个Checkbox以查看它是否已被选中,如果是,则将其文本值(CheckBox.Text)添加到字符串列表中.

这是我有的:

for ( int i = 0; i < multiTaskChecks.Items.Count; i++ )
{
    if ( multiTaskChecks.GetItemChecked(i) )
    {
        checkedMultiTasks.Add(multiTaskChecks.GetItemText(i));
    }
}
Run Code Online (Sandbox Code Playgroud)

使用它,GetItemText返回0,1,2,3等,而不是我所追求的文本值.我也尝试过CheckedListBox.Text.IndexOf(i),CheckedListBox.Text.ToList()每个人都没有运气.

我只是无法从CheckedListBox获取其中一个CheckBox的标签文本.任何有关这方面的帮助将非常感激.

.net c# list checkedlistbox

1
推荐指数
1
解决办法
7655
查看次数

如何将txt文件移动到其他文件夹?

我尝试编写一个控制台应用程序C#来将我的etxt文件移动到另一个文件夹.这些函数只是将文件夹A中的某些.txt文件复制到文件夹AA中

string source = "C:\\A\\ResultClassA.txt";
File.Move(Source, "C:\\AA");
Run Code Online (Sandbox Code Playgroud)

但它始终给出此错误消息:

拒绝访问该路径.

疑难解答提示:确保您具有足够的权限来访问此资源.如果您尝试访问文件,请确保它不是ReadOnly.获取此异常的常规帮助.

在"File.move"代码执行之前,我真的需要将文件夹A和文件夹B设置为"NOT ReadOnly"属性吗?成功移动后,设置为只读回来?

谢谢.由英雄.

c# file

1
推荐指数
1
解决办法
3908
查看次数

取消选择列表框值

我从一个中选择项目,ListBox然后ListBox在按钮单击时将它们添加到第二个.问题是,当我想从listbox2中取消选择所选项时,它会将"对象引用未设置为对象的实例"错误.下面是我在SELECT按钮后面添加的代码.我使用相同的代码取消选择listbox1替换为listbox2,反之亦然.

注意:正在从数据库中检索listbbox1中的项目,并且在listbox2中选择的项目将保存到数据库中

List<int> rowIndexes = new List<int>();

foreach (int index in listBox1.SelectedIndices)
{
    DataRowView view = listBox1.Items[index] as DataRowView;
    string id = view["Course_Id"].ToString();
    string name = view["Course_Name"].ToString();
    listBox2.Items.Add(name);
    rowIndexes.Add(index);
}

try
{
    for (int i = rowIndexes.Count; i > 0; i--)
    {
        dt.Rows.RemoveAt(rowIndexes[i - 1]);
        dt.AcceptChanges();
    }
}

catch (Exception er)
{
    MessageBox.Show(er.Message);
}
Run Code Online (Sandbox Code Playgroud)

c# listbox

1
推荐指数
1
解决办法
430
查看次数

如何检查Web服务器上是否存在文件

我有一个存储在服务器上的文件,我填充的网页取决于文件存在与否的fatc.

如何测试服务器上的文件是否可用?该文件在网页上显示为:http: //main.server.com/PGT/Reports/ObjectsReport.xml

我必须测试这个文件的存在,如果它可用,我将显示一个链接,否则我想隐藏链接.

服务器的实际路径是//main.server.com/inetpub/wwwroot/PGT/Reports/ObjectsReport.xml,但我无法访问网络上的服务器(因此也无法访问该文件).我只能使用网页访问它.有没有办法测试服务器是否有文件或显示链接?(hlObjectsReport.Visible = false;)

我试过使用以下内容:

Uri validatedUri; Uri.TryCreate(uri,UriKind.RelativeOrAbsolute,out validatedUri);

但即使文件不存在,它也会返回一个有效的地址.

谢谢托尼.

c# asp.net

1
推荐指数
1
解决办法
6634
查看次数

XML文档的NullReferenceException

运行这行代码时,我收到一个System.NullReferenceException.

// Occurs on this line
if (xDoc.Root.Element("data").Element("forecast").Element("record").Value == "0")
{
    tempnow.Text = xDoc.Root.Element("data").Element("forecast").Element("pop").Value;
}
Run Code Online (Sandbox Code Playgroud)

Xdoc定义在类下面,如果这与它有关.

{
    public partial class MainPage : PhoneApplicationPage
    {

        XDocument xDoc;
Run Code Online (Sandbox Code Playgroud)

这是我试图访问的XML文档,并找到"记录"的值.这也是"Xdoc"所代表的文档,其中包含以下信息.

<data>
  <status>success</status>
  <location>
    <city/>
    <fullName>39.6N, 0.3W - 6miles SW of El Puerto, SP</fullName>
    <localDate>2014-01-30T01:29:23</localDate>
    <localEpoch>1391045363</localEpoch>
    <locationID>GP202368</locationID>
  </location>
  <forecast>
    <record>0</record>
    <utcEpoch>1391040000</utcEpoch>
    <utcDate>2014-01-30T00:00:00</utcDate>
    <maxTempC>15.4</maxTempC>
    <maxTempF>59.7</maxTempF>
    <minTempC>5.2</minTempC>
    <minTempF>41.3</minTempF>
    <fcstDay>1</fcstDay>
    <dayLength>10:07</dayLength>
    <sunriseHHMMLocal>8:11am</sunriseHHMMLocal>
    <sunsetHHMMLocal>6:18pm</sunsetHHMMLocal>
    <nightLength/>
    <moonriseHHMMLocal/>
    <moonsetHHMMLocal/>
    <moonphase/>
    <moonillum/>
    <moonicon/>
    <pop>19</pop>
    <uv_index>2</uv_index>
    <gustC>30</gustC>
    <gustF>19</gustF>
    <heatindexC>-999.99</heatindexC>
    <heatindexF>-999.99</heatindexF>
    <icon>partly-cloudy-sm.png</icon>
    <iconBase>partly-cloudy</iconBase>
    <iconLg>partly-cloudy.png</iconLg>
    <prcpC>0</prcpC>
    <prcpF>0</prcpF>
    <rh>33</rh>
    <skyCover>8</skyCover>
    <snowC>0</snowC>
    <snowF>0</snowF>
    <wdir>NW</wdir>
    <windchillC>-999.99</windchillC>
    <windchillF>-999.99</windchillF> …
Run Code Online (Sandbox Code Playgroud)

c# xml linq-to-xml windows-phone-8

1
推荐指数
1
解决办法
310
查看次数

从c#中的xml元素中获取值

我试图从下面的xml字符串中获取Absoluteentry标记的值,但是它显示的objectrefrence没有设置异常

<?xml version="1.0" ?> 
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
  <env:Body>
    <AddResponse xmlns="http://www.sap.com/SBO/DIS">
      <PickListParams>
        <Absoluteentry>120072</Absoluteentry> 
      </PickListParams>
    </AddResponse>
  </env:Body>
</env:Envelope>
Run Code Online (Sandbox Code Playgroud)

XDocument doc = XDocument.Parse(xmlstring);
doc.Element("Envelope").Element("Body").Element("AddResponse").Element("PickListParams").Element("Absoluteentry").Value;
Run Code Online (Sandbox Code Playgroud)

c# xml linq-to-xml

0
推荐指数
1
解决办法
1086
查看次数

在 LINQ 查询中创建 DateTime

我收到以下错误:

LINQ to Entities 仅支持无参数构造函数和初始值设定项。

我试图从结果集中查询数据,新结果集的一部分返回一个新的日期字段。

var result = debts.Select(x => new 
             { 
                 x.Snowball.User.Email, 
                 x.SnowballID, 
                 x.Description, 
                 x.ID, 
                 x.DueDayOfMonth, 
                 Due = new DateTime(ExecutionDate.Year, 
                                    ExecutionDate.Month, 
                                    x.DueDayOfMonth) 
             }).ToList();
Run Code Online (Sandbox Code Playgroud)

有没有办法可以创建这个推断的日期时间?

c# linq datetime

0
推荐指数
2
解决办法
4092
查看次数