本文整理汇总了C#中List.AddRange方法的典型用法代码示例。如果您正苦于以下问题:C# List.AddRange方法的具体用法?C# List.AddRange怎么用?C# List.AddRange使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类List
的用法示例。
在下文中一共展示了List.AddRange方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: AddDirectoryAsync
private IEnumerable<XElement> AddDirectoryAsync(DirectoryInfo dir, string collectionId, ref int count, int fnumber,
BackgroundWorker worker)
{
List<XElement> addedElements = new List<XElement>();
// добавление коллекции
string subCollectionId;
List<XElement> ae = this.cass.AddCollection(dir.Name, collectionId, out subCollectionId).ToList();
if (ae.Count > 0) addedElements.AddRange(ae);
count++;
foreach (FileInfo f in dir.GetFiles())
{
if (worker.CancellationPending) break;
if (f.Name != "Thumbs.db")
addedElements.AddRange(this.cass.AddFile(f, subCollectionId));
count++;
worker.ReportProgress(100 * count / fnumber);
}
foreach (DirectoryInfo d in dir.GetDirectories())
{
if (worker.CancellationPending) break;
addedElements.AddRange(AddDirectoryAsync(d, subCollectionId, ref count, fnumber, worker));
}
return addedElements;
}
示例2: GetMatches
/// <summary>
/// Gets all matches for a given requested route
/// Overridden to handle greedy capturing
/// </summary>
/// <param name="segments">Requested route segments</param>
/// <param name="currentIndex">Current index in the route segments</param>
/// <param name="capturedParameters">Currently captured parameters</param>
/// <param name="context">Current Nancy context</param>
/// <returns>A collection of <see cref="MatchResult"/> objects</returns>
public override IEnumerable<MatchResult> GetMatches(string[] segments, int currentIndex, IDictionary<string, object> capturedParameters, NancyContext context)
{
var fullGreedy = this.GetFullGreedy(segments, currentIndex, capturedParameters);
if (!this.Children.Any())
{
return fullGreedy;
}
var sb = new StringBuilder(segments[currentIndex]);
var results = new List<MatchResult>();
currentIndex++;
while (!this.NoMoreSegments(segments, currentIndex - 1))
{
var currentSegment = segments[currentIndex];
TrieNode matchingChild;
if (this.Children.TryGetValue(currentSegment, out matchingChild))
{
var parameters = new Dictionary<string, object>(capturedParameters);
parameters[this.parameterName] = sb.ToString();
results.AddRange(matchingChild.GetMatches(segments, currentIndex, parameters, context));
}
sb.AppendFormat("/{0}", currentSegment);
currentIndex++;
}
if (!results.Any())
{
results.AddRange(fullGreedy);
}
return results;
}
示例3: GetLengthBytes
private byte[] GetLengthBytes()
{
var payloadLengthBytes = new List<byte>(9);
if (PayloadLength > ushort.MaxValue)
{
payloadLengthBytes.Add(127);
byte[] lengthBytes = BitConverter.GetBytes(PayloadLength);
if (BitConverter.IsLittleEndian)
Array.Reverse(lengthBytes);
payloadLengthBytes.AddRange(lengthBytes);
}
else if (PayloadLength > 125)
{
payloadLengthBytes.Add(126);
byte[] lengthBytes = BitConverter.GetBytes((UInt16) PayloadLength);
if (BitConverter.IsLittleEndian)
Array.Reverse(lengthBytes);
payloadLengthBytes.AddRange(lengthBytes);
}
else
{
payloadLengthBytes.Add((byte) PayloadLength);
}
payloadLengthBytes[0] += (byte) (IsMasked ? 128 : 0);
return payloadLengthBytes.ToArray();
}
示例4: ToList
public IList<JToken> ToList()
{
var retval = new List<JToken>();
retval.AddRange(Events.Values);
retval.AddRange(Tours.Values);
return retval;
}
示例5: ChangeSetting
protected virtual ExitCode ChangeSetting(IClientSettings clientSettings, SettingsLocation location, ChangeType changeType)
{
// Don't want to save defaults for options that apply directly to this command
List<string> settingsToSkip = new List<string>();
settingsToSkip.AddRange(StandardOptions.List);
settingsToSkip.AddRange(StandardOptions.Add);
settingsToSkip.AddRange(StandardOptions.Remove);
foreach (var setting in this.Arguments.Options)
{
if (settingsToSkip.Contains(setting.Key, StringComparer.OrdinalIgnoreCase)) { continue; }
bool success = false;
switch (changeType)
{
case ChangeType.Add:
this.Loggers[LoggerType.Status].Write(XTaskStrings.DefaultsSavingProgress, setting.Key);
success = clientSettings.SaveSetting(location, setting.Key, setting.Value);
break;
case ChangeType.Remove:
this.Loggers[LoggerType.Status].Write(XTaskStrings.DefaultsRemovingProgress, setting.Key);
success = clientSettings.RemoveSetting(location, setting.Key);
break;
}
this.Loggers[LoggerType.Status].WriteLine(success ? XTaskStrings.Succeeded : XTaskStrings.Failed);
}
return ExitCode.Success;
}
示例6: GetPathFolders
// Return a list of folders that need to be on the %PATH%
public virtual List<string> GetPathFolders(IEnvironment environment)
{
// Add the msbuild path and git path to the %PATH% so more tools are available
var toolsPaths = new List<string> {
environment.DeploymentToolsPath, // Add /site/deployments/tools to the path to allow users to drop tools in there
environment.ScriptPath,
Path.GetDirectoryName(ResolveMSBuildPath()),
Path.GetDirectoryName(ResolveGitPath()),
Path.GetDirectoryName(ResolveVsTestPath()),
Path.GetDirectoryName(ResolveSQLCmdPath()),
Path.GetDirectoryName(ResolveFSharpCPath())
};
toolsPaths.AddRange(ResolveGitToolPaths());
toolsPaths.AddRange(ResolveNodeNpmPaths());
toolsPaths.Add(ResolveNpmGlobalPrefix());
toolsPaths.AddRange(new[]
{
ResolveBowerPath(),
ResolveGruntPath(),
ResolveGulpPath()
}.Where(p => !String.IsNullOrEmpty(p)).Select(Path.GetDirectoryName));
return toolsPaths;
}
示例7: AddUsingDirectives
public static NamespaceDeclarationSyntax AddUsingDirectives(
this NamespaceDeclarationSyntax namespaceDeclaration,
IList<UsingDirectiveSyntax> usingDirectives,
bool placeSystemNamespaceFirst,
params SyntaxAnnotation[] annotations)
{
if (!usingDirectives.Any())
{
return namespaceDeclaration;
}
var specialCaseSystem = placeSystemNamespaceFirst;
var comparer = specialCaseSystem
? UsingsAndExternAliasesDirectiveComparer.SystemFirstInstance
: UsingsAndExternAliasesDirectiveComparer.NormalInstance;
var usings = new List<UsingDirectiveSyntax>();
usings.AddRange(namespaceDeclaration.Usings);
usings.AddRange(usingDirectives);
if (namespaceDeclaration.Usings.IsSorted(comparer))
{
usings.Sort(comparer);
}
usings = usings.Select(u => u.WithAdditionalAnnotations(annotations)).ToList();
var newNamespace = namespaceDeclaration.WithUsings(SyntaxFactory.List(usings));
return newNamespace;
}
示例8: Bonds
public ActionResult Bonds()
{
List<Asset> assets = new List<Asset>();
assets.AddRange(repository.GetUserAssets(UserId, AssetType.DomesticBond));
assets.AddRange(repository.GetUserAssets(UserId, AssetType.InternationalBond));
return View(assets);
}
示例9: OnCollectionChanged
/// <summary>
/// This is invoked when the collection changes.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The <see cref="System.Collections.Specialized.NotifyCollectionChangedEventArgs"/> instance containing the event data.</param>
/// <remarks>
/// This method must be public because the <see cref="IWeakEventListener"/> is used.
/// </remarks>
public void OnCollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
{
Log.Debug("Automatically tracking change '{0}' of collection", e.Action);
var undoList = new List<CollectionChangeUndo>();
var collection = (IList)sender;
switch (e.Action)
{
case NotifyCollectionChangedAction.Add:
undoList.AddRange(e.NewItems.Cast<object>().Select((item, i) => new CollectionChangeUndo(collection, CollectionChangeType.Add, -1, e.NewStartingIndex + i, null, item, Tag)));
break;
case NotifyCollectionChangedAction.Remove:
undoList.AddRange(e.OldItems.Cast<object>().Select((item, i) => new CollectionChangeUndo(collection, CollectionChangeType.Remove, e.OldStartingIndex + i, -1, item, null, Tag)));
break;
case NotifyCollectionChangedAction.Replace:
undoList.Add(new CollectionChangeUndo(collection, CollectionChangeType.Replace, e.OldStartingIndex, e.NewStartingIndex, e.OldItems[0], e.NewItems[0], Tag));
break;
#if NET
case NotifyCollectionChangedAction.Move:
undoList.Add(new CollectionChangeUndo(collection, CollectionChangeType.Move, e.OldStartingIndex, e.NewStartingIndex, e.NewItems[0], e.NewItems[0], Tag));
break;
#endif
}
foreach (var operation in undoList)
{
MementoService.Add(operation);
}
Log.Debug("Automatically tracked change '{0}' of collection", e.Action);
}
示例10: Generate
public static CodeGenFile[] Generate(ICodeGeneratorDataProvider provider, string directory, ICodeGenerator[] codeGenerators)
{
directory = GetSafeDir(directory);
CleanDir(directory);
var generatedFiles = new List<CodeGenFile>();
foreach (var generator in codeGenerators.OfType<IPoolCodeGenerator>()) {
var files = generator.Generate(provider.poolNames);
generatedFiles.AddRange(files);
writeFiles(directory, files);
}
foreach (var generator in codeGenerators.OfType<IComponentCodeGenerator>()) {
var files = generator.Generate(provider.componentInfos);
generatedFiles.AddRange(files);
writeFiles(directory, files);
}
foreach (var generator in codeGenerators.OfType<IBlueprintsCodeGenerator>()) {
var files = generator.Generate(provider.blueprintNames);
generatedFiles.AddRange(files);
writeFiles(directory, files);
}
return generatedFiles.ToArray();
}
示例11: GetDelegateTypeParameters
private IEnumerable<SignatureHelpParameter> GetDelegateTypeParameters(IMethodSymbol invokeMethod, SemanticModel semanticModel, int position, CancellationToken cancellationToken)
{
const string TargetName = "target";
var parts = new List<SymbolDisplayPart>();
parts.AddRange(invokeMethod.ReturnType.ToMinimalDisplayParts(semanticModel, position));
parts.Add(Space());
parts.Add(Punctuation(SyntaxKind.OpenParenToken));
var first = true;
foreach (var parameter in invokeMethod.Parameters)
{
if (!first)
{
parts.Add(Punctuation(SyntaxKind.CommaToken));
parts.Add(Space());
}
first = false;
parts.AddRange(parameter.Type.ToMinimalDisplayParts(semanticModel, position));
}
parts.Add(Punctuation(SyntaxKind.CloseParenToken));
parts.Add(Space());
parts.Add(new SymbolDisplayPart(SymbolDisplayPartKind.ParameterName, null, TargetName));
yield return new SignatureHelpParameter(
TargetName,
isOptional: false,
documentationFactory: null,
displayParts: parts);
}
开发者ID:daking2014,项目名称:roslyn,代码行数:32,代码来源:ObjectCreationExpressionSignatureHelpProvider_DelegateType.cs
示例12: Subrule
/// <summary>
/// Initializes a new instance of the <see cref="Subrule"/> class.
/// </summary>
/// <param name="id">The id.</param>
/// <param name="desc">The description.</param>
/// <param name="morpher">The morpher.</param>
/// <param name="headLhs">The head LHS.</param>
/// <param name="nonHeadLhs">The non-head LHS.</param>
/// <param name="rhs">The RHS.</param>
/// <param name="alphaVars">The alpha variables.</param>
public Subrule(string id, string desc, Morpher morpher, IEnumerable<PhoneticPattern> headLhs,
IEnumerable<PhoneticPattern> nonHeadLhs, IEnumerable<MorphologicalOutput> rhs, AlphaVariables alphaVars)
: base (id, desc, morpher)
{
m_alphaVars = alphaVars;
List<PhoneticPattern> lhs = new List<PhoneticPattern>();
lhs.AddRange(headLhs);
lhs.AddRange(nonHeadLhs);
m_transform = new MorphologicalTransform(lhs, rhs, MorphologicalTransform.RedupMorphType.IMPLICIT);
// the LHS template is generated by simply concatenating all of the
// LHS partitions; it matches the entire word, so we check for both the
// left and right margins.
m_headLhsTemp = new PhoneticPattern();
m_headLhsTemp.Add(new MarginContext(Direction.LEFT));
int partition = 0;
foreach (PhoneticPattern pat in headLhs)
m_headLhsTemp.AddPartition(pat, partition++);
m_headLhsTemp.Add(new MarginContext(Direction.RIGHT));
m_firstNonHeadPartition = partition;
m_nonHeadLhsTemp = new PhoneticPattern();
m_nonHeadLhsTemp.Add(new MarginContext(Direction.LEFT));
foreach (PhoneticPattern pat in nonHeadLhs)
m_nonHeadLhsTemp.AddPartition(pat, partition++);
m_nonHeadLhsTemp.Add(new MarginContext(Direction.RIGHT));
}
示例13: BrowseTags
public List<Tag> BrowseTags()
{
//Cursor = Cursors.WaitCursor;
if (sc == null || !sc.IsConnected()) { this.Connect(); }
//check if the server is already connected, if not skip the execution
if (!(sc == null))
{
if (sc.IsConnected())
{
//build the tags query
var query = new TagQueryParams { PageSize = 100 };
var allTags = new List<Tag>();
List<Tag> tmp;
// return only string tags
query.Criteria.TagnameMask = "*";
query.Criteria.DataType = Proficy.Historian.ClientAccess.API.Tag.NativeDataType.Float;
//execute the query and populate the list datatype
while (sc.ITags.Query(ref query, out tmp))
allTags.AddRange(tmp);
allTags.AddRange(tmp);
//populate the combo box
//cboTags.DataSource = allTags;
//cboTags.DisplayMember = "Name";
//cboTags.ValueMember = "Name";
return allTags;
}
}
return null;
//Cursor = Cursors.Default;
}
示例14: GetAllActionMethodsFromSelector
private MethodInfo[] GetAllActionMethodsFromSelector()
{
List<MethodInfo> allValidMethods = new List<MethodInfo>();
allValidMethods.AddRange(_selector.AliasedMethods);
allValidMethods.AddRange(_selector.NonAliasedMethods.SelectMany(g => g));
return allValidMethods.ToArray();
}
示例15: MakeTestName
private static string MakeTestName(string path)
{
var rx = new Regex(@"test-(\d+)");
var tests = new List<string>();
tests.AddRange(Directory.GetDirectories(path).Select(Path.GetFileNameWithoutExtension));
tests.AddRange(Directory.GetFiles(path, "*.test").Select(Path.GetFileNameWithoutExtension));
tests.Sort();
int num = 0;
for (int i = tests.Count - 1; i >= 0; i--)
{
var testName = tests[i];
var m = rx.Match(testName);
if (m.Success)
{
num = int.Parse(m.Groups[1].Value) + 1;
break;
}
}
for (;; num++)
{
var fileName = "test-" + num.ToString("0000");
if (!File.Exists(Path.Combine(path, fileName + ".test")))
return fileName;
}
}