我的问题与此类似:
除非我想坚持使用MVC自己的捆绑,如果可以的话.我正在脑力崩溃试图弄清楚用于指定样式包的正确模式是什么,例如jQuery UI工作的独立css和图像集.
我有一个典型的MVC站点结构,/Content/css/其中包含我的基本CSS,如styles.css.在该css文件夹中,我还有子文件夹,例如/jquery-ui包含其CSS文件和/images文件夹的子文件夹.jQuery UI CSS中的图像路径是相对于该文件夹的,我不想搞砸它们.
据我所知,当我指定一个StyleBundle我需要指定一个不匹配真实内容路径的虚拟路径时,因为(假设我忽略了到内容的路由),IIS将尝试将该路径解析为物理文件.所以我指的是:
bundles.Add(new StyleBundle("~/Content/styles/jquery-ui")
.Include("~/Content/css/jquery-ui/*.css"));
Run Code Online (Sandbox Code Playgroud)
渲染使用:
@Styles.Render("~/Content/styles/jquery-ui")
Run Code Online (Sandbox Code Playgroud)
我可以看到要求:
http://localhost/MySite/Content/styles/jquery-ui?v=nL_6HPFtzoqrts9nwrtjq0VQFYnhMjY5EopXsK8cxmg1
Run Code Online (Sandbox Code Playgroud)
这将返回正确的,缩小的CSS响应.但随后浏览器发送相对链接图像的请求,如下所示:
http://localhost/MySite/Content/styles/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
Run Code Online (Sandbox Code Playgroud)
这是一个404.
我知道我的URL的最后一部分jquery-ui是一个无扩展名的URL,我的包的处理程序,所以我可以看到为什么相对的图像请求是简单的/styles/images/.
所以我的问题是处理这种情况的正确方法是什么?
除非我错过了一个明显的内置方法,否则在字符串中第n次出现字符串的最快方法是什么?
我意识到我可以通过在循环的每次迭代中更新其起始索引来循环IndexOf方法.但这样做对我来说似乎很浪费.
我试图获取某个字符的出现次数,如&下面的字符串.
string test = "key1=value1&key2=value2&key3=value3";
Run Code Online (Sandbox Code Playgroud)
如何确定上述测试字符串变量中有2个和号(&)?
假设我有一个字符串:
MyString = "OU=Level3,OU=Level2,OU=Level1,DC=domain,DC=com";
Run Code Online (Sandbox Code Playgroud)
那么我想知道在这个字符串中出现多少次子串"OU =".使用单个字符,可能有以下内容:
int count = MyString.Split("OU=").Length - 1;
Run Code Online (Sandbox Code Playgroud)
但Split只适用于char,而不是string.
另外如何找到n次出现的位置?例如,"OU="字符串中第2个位置?
如何解决这个问题?
我只是有一个看起来像这样的字符串:
"7,真实,NA,假:67,假,NA,假:5,假,NA,假:5,假,NA,假"
我想要做的就是计算字符串" true "出现在该字符串中的次数.我觉得答案是这样的,String.CountAllTheTimesThisStringAppearsInThatString()但由于某种原因,我无法弄明白.救命?
标题是问题.以下是我尝试通过研究回答这个问题.但我不相信我不知情的研究,所以我仍然提出问题(在C#中用字符串中的单个字符迭代的最快方法是什么?).
偶尔我想逐个循环遍历字符串的字符,例如在解析嵌套标记时 - 这是正则表达式无法完成的.我想知道最快的方法是迭代字符串中的各个字符,特别是非常大的字符串.
我自己做了一堆测试,结果如下.然而,有许多读者对.NET CLR和C#编译器有更深入的了解,所以我不知道我是否遗漏了一些明显的东西,或者我是否在测试代码中犯了错误.所以我征集你的集体回应.如果有人深入了解字符串索引器的实际工作方式,那将非常有帮助.(这是C#语言功能在幕后编译成其他东西吗?还是内置于CLR中的东西?).
使用流的第一种方法直接取自线程中接受的答案:如何从字符串生成流?
测试
longString是一个9910万字符的字符串,由89个纯文本版本的C#语言规范组成.显示的结果是20次迭代.如果存在'启动'时间(例如方法#3中隐式创建的数组的第一次迭代),我会单独测试它,例如在第一次迭代后断开循环.
结果
从我的测试中,使用ToCharArray()方法在char数组中缓存字符串是迭代整个字符串的最快速度.ToCharArray()方法是一项前期费用,对单个字符的后续访问速度略快于内置索引访问器.
milliseconds
---------------------------------
Method Startup Iteration Total StdDev
------------------------------ ------- --------- ----- ------
1 index accessor 0 602 602 3
2 explicit convert ToCharArray 165 410 582 3
3 foreach (c in string.ToCharArray)168 455 623 3
4 StringReader 0 1150 1150 25
5 StreamWriter => Stream 405 1940 2345 20
6 GetBytes() => StreamReader 385 2065 2450 35
7 GetBytes() => BinaryReader 385 5465 5850 80 …Run Code Online (Sandbox Code Playgroud) 我试图找出“血清素”一词在收集的网络数据中出现的次数,但找不到查找次数的方法。
IEnumerator OnMouseDown()
{
string GatheredData;
StringToFind = "Serotonin"
string url = "https://en.wikipedia.org/wiki/Dopamine";
WWW www = new WWW(url);
yield return www;
GatheredData = www.text;
//Attempted methods below
M1_count = GatheredData.Contains(StringToFind);
M1_count = GatheredData.Count(StringToFind);
M1_count = GatheredData.IndexOf(StringToFind);
}
Run Code Online (Sandbox Code Playgroud)
当我告诉它索引和方法 2 中的哪个数字有效但仅适用于字符而不适用于字符串时,我可以轻松使用来自方法 1 和方法 3 的数据
我已经在网上和这里检查过,但没有发现找到 StringToFind 的计数
可能重复:
您如何计算字符串(C#)中字符串的出现次数?
如何计算字符串中'#'的出现次数?
就像是 int RowFormat = drr[3].ToString("#").Length;
示例字符串"grtkj #### mfr"
RowFormat必须返回4
是的^ _ ^ .NET 3.5
我需要计算每个关键字在字符串中重复出现的次数,并按最高数字排序.为此目的,.NET代码中可用的最快算法是什么?
要在字符串中搜索子字符串,我可以使用该contains()函数.但是如何检查字符串是否包含多个子字符串?
为了优化这一点:对我来说,知道有多个结果而不是多少结果就足够了.