本文整理汇总了C#中System.Enum.Select方法的典型用法代码示例。如果您正苦于以下问题:C# Enum.Select方法的具体用法?C# Enum.Select怎么用?C# Enum.Select使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Enum
的用法示例。
在下文中一共展示了Enum.Select方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ProcessAplFiles
private IMatrixData ProcessAplFiles(ProcessInfo processInfo, int nThreads, IList<MsRunImpl> aplfiles)
{
string tempFile = Path.Combine(FileUtils.GetTempFolder(), "spectraref.txt");
if (File.Exists(tempFile)){
File.Delete(tempFile);
}
IMatrixData matrix;
StreamWriter writer = null;
try{
Enum[] enums = new Enum[]{spectraRef.raw_file, spectraRef.charge, spectraRef.scan_number, spectraRef.location, spectraRef.format, spectraRef.id_format, spectraRef.fragmentation, spectraRef.mz, spectraRef.index};
IList<string> header = enums.Select(Constants.GetPattern).ToList();
if (aplfiles == null || aplfiles.Count == 0){
return null;
}
int nTasks = aplfiles.Count;
processInfo.Progress(0);
processInfo.Status(string.Format("Read Andromeda peaklist files [{0}|{1}]", 0, nTasks));
writer = new StreamWriter(tempFile);
writer.WriteLine(StringUtils.Concat("\t", header));
writer.WriteLine("#!{Type}" + StringUtils.Concat("\t", header.Select(x => "T")));
ThreadDistributor distr = new ThreadDistributor(nThreads, nTasks,
x =>
ParseAplFile(aplfiles[x], writer,
string.Format(
"Read Andromeda peaklist files [{0}|{1}]",
x + 1, nTasks), (x + 1)*100/nTasks,
processInfo));
distr.Start();
processInfo.Status("Close all files");
writer.Close();
writer.Dispose();
writer = null;
processInfo.Progress(0);
processInfo.Status("Create SpectraRef matrix");
matrix = new MatrixData();
LoadData(matrix, tempFile, processInfo);
}
catch (Exception ex){
throw ex;
}
finally{
if (writer != null){
writer.Close();
}
if (File.Exists(tempFile)){
File.Delete(tempFile);
}
}
return matrix;
}
示例2: ProcessDbFiles
private IMatrixData ProcessDbFiles(ProcessInfo processInfo, int nThreads, IList<Database> databases)
{
string tempFile = Path.Combine(FileUtils.GetTempFolder(), "databaseref.txt");
IMatrixData matrix;
StreamWriter writer = null;
try{
processInfo.Progress(0);
processInfo.Status(string.Format("Read database files [{0}|{1}]", 0, "?"));
Enum[] enums = new Enum[] { databaseRef.file, databaseRef.source, databaseRef.specie, databaseRef.taxid, databaseRef.version, databaseRef.identifier };
IList<string> header = enums.Select(Constants.GetPattern).ToList();
if (databases == null || databases.Count == 0){
return null;
}
writer = new StreamWriter(tempFile);
int nTasks = databases.Count;
writer.WriteLine(StringUtils.Concat("\t", header));
writer.WriteLine("#!{Type}" + StringUtils.Concat("\t", header.Select(x => "T")));
ThreadDistributor distr = new ThreadDistributor(nThreads, nTasks,
x =>
ParseDatabase(writer, databases[x],
string.Format(
"Read database files [{0}|{1}]",
x + 1, nTasks), (x + 1)*100/nTasks,
processInfo));
distr.Start();
processInfo.Status("Close all files");
writer.Close();
writer.Dispose();
writer = null;
processInfo.Progress(0);
processInfo.Status("Create DatabaseRef Matrix");
matrix = new MatrixData();
LoadData(matrix, tempFile, processInfo);
}
catch (Exception ex){
throw ex;
}
finally{
if (writer != null){
writer.Close();
}
if (File.Exists(tempFile)){
File.Delete(tempFile);
}
}
return matrix;
}
示例3: Variant
public Variant(Enum[] value)
{
this.Value = value.Select(v => Convert.ToInt32(v, CultureInfo.InvariantCulture)).ToArray();
this.Type = VariantType.Int32;
this.ArrayDimensions = new int[value.Rank];
for (int i = 0; i < value.Rank; i++)
{
this.ArrayDimensions[i] = value.GetLength(i);
}
}