我正在ArrayList使用for循环迭代,但我不知道如何获取循环所在的当前索引.
我做谷歌,但我找不到任何有用的东西.
如果有人能告诉我如何获得当前指数,我将不胜感激.
可能重复:
使用Lambda/Linq将列表排序到对象
C#List <> OrderBy Alphabetical Order
如何通过字符串属性按字母顺序对对象列表进行排序.
我尝试在属性上实现IComparable但我只想出如何对第一个字符进行排序(使用char).
编辑:这是一些示例代码.
class MyObject {
public string MyProperty {get;set;}
}
List<MyObject> sampleList = new List<MyObject>();
MyObject sample = new MyObject();
sample.MyProperty = "Aardvark";
MyObject sample2 = new MyObject();
sample2.MyProperty = "Zebra";
sampleList.Add(sample);
sampleList.Add(sample2);
sampleList.Sort(); // or something similar
foreach (var item in sampleList) {
Console.WriteLine(item.MyProperty);
}
Run Code Online (Sandbox Code Playgroud)
应输出Aardvark和Zebra(按字母顺序排列).
谢谢!
目前我在C#中有一个自定义构建的静态日志记录类,可以使用以下代码调用:
EventLogger.Log(EventLogger.EventType.Application, string.Format("AddData request from {0}", ipAddress));
Run Code Online (Sandbox Code Playgroud)
调用它时,它只会写入配置文件中指定的已定义日志文件.
但是,由于我必须记录许多事件,因此我的代码开始变得难以阅读,因为所有的日志消息都是如此.
是否有一种既定的方法来从C#类中的对象和方法中或多或少地分离日志代码,这样代码就不会变得难以驾驭?
提前感谢大家的帮助,因为这是我最近一直在努力的事情.
我正在尝试编译我使用zlib编写的程序的32位版本(MinGW).到现在为止,我从来没有编译32位,所以我从源代码(libz.a)编译的zlib版本是64位.我试图在zlib-1.2.5目录中重新运行makefile,但它只编译64位版本的libz.a.
我似乎无法找到构建32位的选项.
有谁知道如何做到这一点?
谢谢!
Jeffrey Kevin Pry
我正在寻找Oracle的查询来获取Oracle包/过程的所有参数.
我知道有一个视图或表提供了这个,但我似乎无法记住它是什么.
注意:我不是要从user_objects获取包列表,而是查找包中每个过程的数据类型和参数名称.
谢谢,
Jeffrey Kevin Pry
我有一个大约400 GB的大文件.每天由外部封闭系统生成.它是一个二进制文件,格式如下:
byte[8]byte[4]byte[n]
Run Code Online (Sandbox Code Playgroud)
其中n等于byte [4]的int32值.
此文件没有分隔符,要读取整个文件,您只需重复直到EOF.每个"项"表示为字节[8]字节[4]字节[n].
该文件看起来像
byte[8]byte[4]byte[n]byte[8]byte[4]byte[n]...EOF
Run Code Online (Sandbox Code Playgroud)
byte [8]是一个64位数字,表示由.NET Ticks表示的一段时间.我需要对此文件进行排序,但似乎无法找出最快的方法.
现在,我将Ticks加载到struct和byte [n]的开始和结束位置,并读取到文件的末尾.在此之后,我通过Ticks属性在内存中对List进行排序,然后打开BinaryReader并以Ticks顺序查找每个位置,读取byte [n]值,并写入外部文件.
在过程结束时,我最终得到一个已排序的二进制文件,但它需要FOREVER.我正在使用C#.NET和一个非常强大的服务器,但磁盘IO似乎是一个问题.
服务器规格:
我看过整个互联网,只能找到一个巨大的文件是1GB的例子(让我轻笑).
有人有建议吗?
我正在使用实体框架代码优先使用MySQL数据源.
我定义ContactType.cs如下:
public class ContactType
{
[Key]
public int ContactTypeId { get; set; }
[Required, StringLength(30)]
public string DisplayName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,在重建数据库之后,我如何让EF将一些联系类型插入到数据库中(没有SQL).通常,DB会重建为空白架构,但我想添加联系人类型,如(Home,Mobile,Office,Fax).
我在Linux系统上有一个大约10GB的文件.它包含20,000,000个二进制记录,但每个记录由ASCII分隔符"$"分隔.我想使用split命令或其组合将文件分块为更小的部分.理想情况下,我可以指定命令应该将每1,000条记录(因此每1,000个分隔符)拆分为单独的文件.有人能帮忙吗?
我首先使用Microsoft Entity Framework代码来管理我的数据(使用MySQL).我已经定义了一个POCO对象,但是,当我尝试添加数据时,表示用户不存在.我查看了数据库,并创建了表User not Users.我该如何解决这个问题?它让我疯了!
谢谢!
public class User
{
[Key,Required]
public int UserId { get; set; }
[StringLength(20), Required]
public string UserName { get; set; }
[StringLength(30), Required]
public string Password { get; set; }
[StringLength(100), Required]
public string EmailAddress { get; set; }
[Required]
public DateTime CreateDate { get; set; }
[Required]
public bool IsActive { get; set; }
}
Run Code Online (Sandbox Code Playgroud)