我正在研究ac #project,其中一些数据包含编码无法识别的字符.它们显示如下:
"有些文字 里面有特殊的 符号".
我无法控制编码过程,数据也来自各种来源和各种格式的文件.我希望能够标记包含错误或不完整字符的数据.现在我能够以这种方式检测它们:
if(myString.Contains("?"))
{
//Do stuff
}
Run Code Online (Sandbox Code Playgroud)
虽然它确实有效,但在Contains函数中直接使用奇怪的符号并不合适.有没有更清洁的方法来做到这一点?
编辑:
在与负责阅读文件的团队核对后,他们就是这样做的:
var sr = new StreamReader(filePath, true);
var content = sr.ReadToEnd();
Run Code Online (Sandbox Code Playgroud)
传递true作为StreamReader的第二个参数应该从文件的BOM中检测编码,并使用它来读取内容.它并不总是有效,因为有些文件不承载这些信息,因此他们的数据读取错误的原因.
我们已经进行了一些测试,并且使用它StreamReader(filePath, Encoding.Default)似乎适用于大多数(如果不是所有)我们遇到问题的文件.预计,之前工作的文件不再有效,因为它们不使用默认编码.
因此,对我们来说最好的解决方案是执行以下操作:读取尝试检测其编码的文件,然后如果不成功则使用默认编码再次读取它.
但问题仍然存在:在尝试检测文件的编码后,如果数据读取不正确,我们如何检查?
我有一点C#问题.我有两个类ClassA和ClassB以这种方式定义:
public class ClassA
{
private ClassB b;
ClassB B;
{
get { return b; }
set { b = value; }
}
}
public class ClassB
{
/* some stuff */
}
Run Code Online (Sandbox Code Playgroud)
如您所见,ClassA有一个ClassB实例.
问题是,从ClassA实例列表中,我想访问相应ClassB实例的列表.我想它看起来像这样:
IList<ClassA> listA = ...;
IList<ClassB> listB = listA.???.B;
Run Code Online (Sandbox Code Playgroud)
解决方案可能很明显,但我自己无法弄明白.
任何帮助,将不胜感激 !
我正在研究使用Oracle的PL/SQL算法.
我目前有一个程序,只有一个数字参数.我的程序必须创建一个包含与参数值一样多的'0'的字符串.
我目前正在使用for循环来实现此目的:
MY_STRING VARCHAR2(30);
FOR I IN 1..MY_PARAMETER
LOOP
MY_STRING := CONCAT(MY_STRING, '0');
END LOOP;
Run Code Online (Sandbox Code Playgroud)
是否有可能以线性方式进行?我的意思是没有循环,甚至没有一个单一的声明.
任何帮助,将不胜感激 !
谢谢.
我正在使用pl/sql过程.我有一个初始化变量myvar,我想检查它的值:如果它不包含'Z',我希望它包含'P'.
我目前正在这样做:
myvar := decode(myvar,'Z','Z','P');
Run Code Online (Sandbox Code Playgroud)
我只是想知道是否有更简单的方法来做到这一点.我的意思是,解码已经很简单了,但我觉得在变量已经存在的时候指定变量的内容是很奇怪的!
如果存在这样的函数,它将如下所示:
Function myfunction(a In Varchar2, b In Varchar2, c In Varchar2)
Return Varchar2
Is
Begin
if a <> b
then
return c;
end if;
return a;
End myfunction;
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激 !
我无法在jrxml中的表格中显示复选框.
以下是我的代码示例:
<detail>
<band height="45" splitType="Stretch">
<textField isBlankWhenNull="true">
<reportElement style="MyCustomStyle" stretchType="RelativeToTallestObject" x="650" y="0" width="80" height="35"/>
<textElement textAlignment="Center"/>
<textFieldExpression class="java.lang.Boolean"><![CDATA[$F{myBooleanVariable}]]>
</textFieldExpression>
</textField>
</band>
</detail>
Run Code Online (Sandbox Code Playgroud)
该列只显示true或false.我认为class="java.lang.Boolean"在textFieldExpression元素中指定会将值转换为复选框,但显然,我需要更多.
我知道我做错了什么?
在angularjs项目中,我使用指令通过拖放它们来上传文件.在指令中,我需要调用在我的控制器中定义的函数.
这是我在做的事情:
(function () {
'use strict';
angular
.module('app')
.controller('myController', myController)
.directive('fileDropzone', function () {
return {
restrict: 'A',
scope: {
file: '=',
fileName: '=',
test: '&callbackFn',
},
link: function (scope, element, attrs) {
var processDragOverOrEnter;
processDragOverOrEnter = function (event) {
if (event != null) {
event.preventDefault();
}
event.dataTransfer.effectAllowed = 'copy';
return false;
};
element.bind('dragover', processDragOverOrEnter);
element.bind('dragenter', processDragOverOrEnter);
return element.bind('drop', function (event) {
var file, reader;
if (event != null) {
event.preventDefault();
}
reader = new FileReader();
reader.onload = function …Run Code Online (Sandbox Code Playgroud) 我有问题NHibernate更新我的一些实体时,这不应该发生(脏检查).当我使用NHibernate.Mapping.Attributes来映射我的类时,我发现有一个参数"Check"到NHMA的元素"Class".我想知道我是否可以通过将此参数设置为false或其他东西来关闭脏检查(此参数所需的类型是字符串,因此可能不是这样).
任何帮助,将不胜感激 !